SlideShare a Scribd company logo
MD RAKIB HOSSAIN MISU
INSTITUTE OF INFORMATION TECHONOLOGY
Report On
Internship
Internship at SELISE
i
Report On Internship
SE-701
Institute of Information Technology,
University of Dhaka
Date of Submission
22 May 2016
Prepared by
Md. Rakib Hossain (BSSE 0516)
Intern at SELISE
ii
Letter of Transmittal
May 22, 2016
The Chairman
Intern Placement Office
Institute of Information Technology
University of Dhaka
Dear Sir
It’s an outstanding opportunity for me to relate my academic knowledge and experience with
recent software industry trend .I am really thankful to Institute of Information Technology, the
University of Dhaka for providing me such a great opportunity. It is my enormous delight to
delivering you this report based on my observation and experience during my internship time
period, starting on January 01, 2016 to June 1, 2016.
This report both covers the technical skills that I gained through my internship program and
represents my project involvements, professional growth and other improvements and issues .It is
believed that the report will exhibit the overall outcomes of my internship course. I am looking
forward to your effective feedbacks on my entire report
Sincerely yours,
Md Rakib Hossain Misu
BSSE 0516
7th Semester
Bachelor of Science in Software Engineering
Institute of Information Technology
University of Dhaka
iii
Letter of Endorsement
To Whom It May Concern
Subject: Approval of the Report
This letter is to certify that, all the information mentioned in this document is true and not
confidential to the company. The projects mentioned here have had successful involvement of Md
Rakib Hossain, (BSSE05016), Institute of Information Technology, and University of Dhaka.
I wish him all the best and hope that he will lead a successful career.
Shah Ali Newaj Topu
Partner & CTO
Secure Link Service Ltd
iv
Acknowledgement
Firstly I am really thankful to Institute of Information technology and its Intern Program Office
for arranging the wonderful internship program for me .I am also grateful to SELISE Rocking
Software for recruiting me as an intern.
I take this chance to express my significant appreciation and profound respects to Shah Ali Newaj
Topu, Partner and Chief Technology Officer of Secure Link Services Ltd for his praiseworthy
direction, observing and steady consolation during my entire internship. The blessing, help and
guidance and time given by him help me to go a long way in the journey of life on which I am
about to embark.
I also would like to thank Dr. Kazi Muheymin-Us-Sakib the Director and Associate Professor of
Institute of Information Technology, University of Dhaka for giving me the opportunity to take
part in the internship such a renowned organization.
I also make this chance to express a profound sense for gratitude should my less group lead md
Jonayet Hossain, Software Engineer of Secure Link Services Ltd for his friendly support,
guidance ,that always assist me to
I am likewise grateful to all individuals from Secure Link Services BD Ltd for making my
adventure smooth and noteworthy. Finally I would thank and tremendous gratitude all the
members including Md. Hamim Ur Rahman (Software Engineer ), Shovan Samaddar(Product
Deployment Manager ),Miraz Chowdhury,(Senior User Experience Designer )Dilshad
Ferdousi(Senior Quality Assurance Engineer ),Nabila Pinaj, (Junior Quality Assurance
Engineer)Golam Rahaman Tushar,(Junior Software Engineer) Mhamuda Zaman Nuri (User
Experience Designer),Md. Kamruzzaman (Junior Software Engineer), Adib Mosharrof(Junior
Software Engineer) for giving me an effective period of experience.
v
Executive Summery
This document deals with the author experiences and contributions towards the SELISE as an intern.
It also represents the achievements and challenges during the internship program. The scope of this
document is to identify and describe the analysis carried out, projects completed, experience gained
and focuses on the achievements as an intern.
The Internship Program Office of Institute of Information Technology (IIT) the University of Dhaka
offers their bachelor’s student to take an internship during their 7th
semester. The goal of offering and
taking this internship is to provide students with the opportunity to get practical work experiences
and applied software engineering practices in real life projects. It is a golden opportunity for the student
to learn new things and getting familiar with the industry during their student life
Being a bachelor program student of IIT, I was offered to take an internship at Secure Link Service
BD Ltd, a well-known, multinational software company in Bangladesh. I have joined SELISE as an
intern .I was cordially welcomed by the SELISE family .However after getting proper training, I started
working as a frontend developer along with practicing various software engineering practices .I was
treated as an employee and got all the facilities just like other employees .I have explored new
technologies and practices, got familiar with industry people and faced new challenges. I feel really
fortunate to have support and mentoring from all of my teammates and team leaders.
During my last six semesters, I have learned many software engineering practices .However it all about
to theoretical knowledge but in the internship I found a practical implementation of that such as scrum,
sprint, agile development etc. It really helps me to make the link between my theoretical knowledge’s
with the practical implementations
Now I am currently working in a team for developing real life projects. The experience of working
this project help me both develop my problem-solving skills and practicing the software engineering
best practices .This internship program helps me to improve my skills ,confidence and provide me an
opportunity to be a professional Software Engineer .
1
Table of Contents
CHAPTER ONE: INTRODUCTION ........................................................................................................................................... 6
1.1 PREAMBLE .............................................................................................................................................................................. 6
1.2 ORIGIN OF THE REPORT........................................................................................................................................................... 6
1.3 OBJECTIVES ............................................................................................................................................................................ 7
1.3.1 Board Objectives............................................................................................................................................................ 7
1.3.2 Specific Objectives ......................................................................................................................................................... 7
1.4 SCOPE ..................................................................................................................................................................................... 7
1.5 METHODOLOGY ...................................................................................................................................................................... 7
1.5.1 Primary data .................................................................................................................................................................. 8
1.5.2 Secondary data............................................................................................................................................................... 8
1.6 LIMITATIONS........................................................................................................................................................................... 8
CHAPTER 2: SELISE.................................................................................................................................................................... 9
2.1 OVERVIEW .............................................................................................................................................................................. 9
2.2 GOVERNING BODY................................................................................................................................................................ 10
2.3 VISION AND MISSION ............................................................................................................................................................ 10
2.4 HOW DOES SELISE WORKS................................................................................................................................................. 10
2.4.1 Strategic Partnership/ Sponsorship.............................................................................................................................. 10
2.4.2 Program Management.................................................................................................................................................. 11
2.4.3 Product Ownership ...................................................................................................................................................... 11
2.4.4 Core Development Team.............................................................................................................................................. 11
2.4.5 Quality Assurance ........................................................................................................................................................ 11
2.4.6 User Experience Design............................................................................................................................................... 12
2.5 WHAT SELISE DO................................................................................................................................................................ 12
2.6 SOFTWARE DEVELOPMENT PROCESS .................................................................................................................................... 13
2.6.1 Requirement Identification........................................................................................................................................... 13
2.6.2 Context and Process Capturing.................................................................................................................................... 14
2.6.3 Proof of Concept .......................................................................................................................................................... 14
2.6.4 Up and Running ........................................................................................................................................................... 14
CHAPTER 3: SELESE’S SERVICES AND TECHNOLOGY................................................................................................. 15
3.1 OVERVIEW ............................................................................................................................................................................ 15
3.2 ROCK IN SOFTWARE.............................................................................................................................................................. 15
3.2.1 Digital Business Consulting ......................................................................................................................................... 15
3.2.2 Solution Engineering.................................................................................................................................................... 16
3.2.3 Co-Development........................................................................................................................................................... 16
3.2.4 SELISE Digital Production .......................................................................................................................................... 17
3.3 MAJOR CLIENTS.................................................................................................................................................................... 17
3. 4 DEVELOPMENT SKILLS AND EXPERIENCE ............................................................................................................................ 18
2
3.5 HUMAN RESOURCE ............................................................................................................................................................... 19
3.6 RECRUITMENT PROCESS........................................................................................................................................................ 19
3. 7 TECHNOLOGIES AND FRAMEWORKS..................................................................................................................................... 20
CHAPTER 4: SELISE’S ENVIRONMENT & CULTURE...................................................................................................... 21
4.1 OVERVIEW ............................................................................................................................................................................ 21
4.2 LOCATION AND PHYSICAL LAYOUT ...................................................................................................................................... 21
4.2.1 Dedicated rooms .......................................................................................................................................................... 22
4.2.2 Comfortable Sitting Arrangement ................................................................................................................................ 22
4.2.3 Green Plants................................................................................................................................................................. 22
4.2.4 Dinning and Prayer Room ........................................................................................................................................... 22
4.3 OFFICE SCHEDULE ................................................................................................................................................................ 22
4.4 DRESS CODE ......................................................................................................................................................................... 22
4.5 FINE SYSTEM ........................................................................................................................................................................ 22
4.6 ADMIN AND TECHNICAL SUPPORT ........................................................................................................................................ 23
4.7 ORGANIZED STRUCTURE....................................................................................................................................................... 23
4.8 SPRINT PLANNING................................................................................................................................................................. 23
4.9 DAILY STAND UP.................................................................................................................................................................. 23
4.10 WEEKLY SEMINARS ............................................................................................................................................................ 23
4.11 CO-OPERATION ................................................................................................................................................................... 24
4.12 FRIENDLY ENVIRONMENT................................................................................................................................................... 24
4.13 INSPIRATION ....................................................................................................................................................................... 24
4.14 FACILITIES FOR EMPLOYEES ............................................................................................................................................... 24
4.14.1 DEDICATED WORKPLACE................................................................................................................................................. 24
4.14.2 TUTORIALS....................................................................................................................................................................... 24
4.14.3 High Speed Internet.................................................................................................................................................... 24
4.14.4 Domestic Environment ............................................................................................................................................... 25
4.14.5 Schooling Program..................................................................................................................................................... 25
4.14.6 Training...................................................................................................................................................................... 25
4.14.7 All Day Free Food...................................................................................................................................................... 25
4.14.8 Team Fund.................................................................................................................................................................. 25
4.14.9 Games......................................................................................................................................................................... 25
4.14.10 Reference Points....................................................................................................................................................... 25
4.14.11 Recreation ................................................................................................................................................................ 25
4.15 CULTURE ............................................................................................................................................................................ 26
4.15.1 People......................................................................................................................................................................... 26
4.15.2 Corporate Culture...................................................................................................................................................... 26
4.15.3 Fun and Passion......................................................................................................................................................... 26
4.15.4 Sports.......................................................................................................................................................................... 26
4.15.5 Working Environment................................................................................................................................................. 26
4.15.6 Good Bye Gifts ........................................................................................................................................................... 27
4.15.6 Annual Trip ................................................................................................................................................................ 27
3
4.15.7 Weeding Party............................................................................................................................................................ 27
CHAPTER 5: INTERNSHIP AT SELISE ................................................................................................................................. 28
5.1 OVERVIEW ............................................................................................................................................................................ 28
5.2 IIT AND SELISE ................................................................................................................................................................... 28
5.3 FACILITIES FOR INTERNS....................................................................................................................................................... 28
5.4 SCHOOLING PROGRAMS AND TRAINING................................................................................................................................ 29
5.5 ASSIGNMENT OF WORK ........................................................................................................................................................ 30
5.6 EVALUATION OF INTERNS ..................................................................................................................................................... 30
5.7 CONCLUSION......................................................................................................................................................................... 30
CHAPTER 6: TRAINING & SCHOOLING ............................................................................................................................. 31
6.1 OVERVIEW ............................................................................................................................................................................ 31
6.2 ASSIGNMENT CONTACT MANAGER APPLICATION................................................................................................................. 31
6.3 PROJECT FUNNY FACEBOOK APPLICATION ........................................................................................................................... 31
6.4 TUTORIALS AND OTHER RESOURCES ..................................................................................................................................... 32
6.5 COMMUNICATION AND COLLABORATION ............................................................................................................................. 32
6.6 WORKING ENVIRONMENT..................................................................................................................................................... 32
CHAPTER 7: MY PROJECT INVOLVEMENTS AND CONTRIBUTION.......................................................................... 33
7.1 OVERVIEW ............................................................................................................................................................................ 33
7.2 ENTERTAINING FACEBOOK APPLICATIONS ........................................................................................................................... 33
7.2.1 Requirements................................................................................................................................................................ 33
7.2.2 Team Members:............................................................................................................................................................ 34
7.2.3 Tools and Technologies................................................................................................................................................ 34
7.2.4 Working Periods........................................................................................................................................................... 34
7.2.5 Challenges.................................................................................................................................................................... 34
7.2.6 My Learning ................................................................................................................................................................. 34
7.3 ECAP ................................................................................................................................................................................... 35
7.3.1 Requirements................................................................................................................................................................ 35
7.2.2 Team Members:............................................................................................................................................................ 35
7.3.3 Tools and technologies................................................................................................................................................. 36
7.3.3 Working Periods........................................................................................................................................................... 36
7.2.5 Challenges.................................................................................................................................................................... 36
7.2.6 My Learning ................................................................................................................................................................. 36
7.3 JAMAHOOK............................................................................................................................................................................ 36
7.3.1Tools and technologies.................................................................................................................................................. 37
7.3.2 My Contribution ........................................................................................................................................................... 37
7.3.3 Challenges.................................................................................................................................................................... 38
CHAPTER 8: PROFESSIONAL GROWTH............................................................................................................................. 39
8.1 DEVELOPMENT TECHNIQUE .................................................................................................................................................. 39
4
8.2 PAIR PROGRAMMING............................................................................................................................................................. 39
8.3 RESPECT FOR EACH OTHER................................................................................................................................................... 39
8.4 NO BULLYING AND BLAMING ................................................................................................................................................ 40
8.5 DEDICATION FOR WORK ....................................................................................................................................................... 40
8.6 ATTITUDE ............................................................................................................................................................................. 40
8.7 NEGOTIATION ....................................................................................................................................................................... 40
8.8 PLANNING............................................................................................................................................................................. 41
8.9 ATTENDANCE AND PUNCTUALITY......................................................................................................................................... 41
CHAPTER 9: TECHNOLOGICAL GROWTH........................................................................................................................ 42
9.1 OVERVIEW ............................................................................................................................................................................ 42
9.2 TOOLS AND IDE.................................................................................................................................................................... 42
9.2.1VISUAL STUDIO 2015.......................................................................................................................................................... 42
9.2.2Visual studio code ......................................................................................................................................................... 42
9.2.3Chrom DevTools ........................................................................................................................................................... 43
9.2.4 SQL Server 2014 .......................................................................................................................................................... 43
9.3 FRAMEWORKS AND LANGUAGES .......................................................................................................................................... 43
9.3.2 MVC ............................................................................................................................................................................. 43
9.3.2ASP.NET Web API ........................................................................................................................................................ 43
9.3.3 Entity Framework......................................................................................................................................................... 44
9.3.4 Odata............................................................................................................................................................................ 44
9.3.5 JavaScript..................................................................................................................................................................... 44
9.3.6 Angular Js .................................................................................................................................................................... 45
9.3.7 Angular Material.......................................................................................................................................................... 45
9.3.8 ECAP............................................................................................................................................................................ 45
9.4 SOURCE CONTROL AND OTHERS TOOLS ............................................................................................................................... 46
9.4.1 Jira ............................................................................................................................................................................... 46
9.4.2 SourceTree ................................................................................................................................................................... 46
9.4.3 Fiddler.......................................................................................................................................................................... 46
9.4.4 Node js.......................................................................................................................................................................... 46
9.4.5 Grunt ............................................................................................................................................................................ 46
9.5 CLOUD COMPUTING .............................................................................................................................................................. 47
9.5.1 Amazon web Service..................................................................................................................................................... 47
9.5.2 Amazon E2C................................................................................................................................................................. 48
9.5.3 Amazon RDMS ............................................................................................................................................................. 48
9.5.4 Amazon S3.................................................................................................................................................................... 48
9.5.5 Microsoft Azure App Services ...................................................................................................................................... 48
CHAPTER 10: SELF-ASSESSMENT........................................................................................................................................ 50
10.1 OVERVIEW .......................................................................................................................................................................... 50
10.1.1 Attitude ....................................................................................................................................................................... 50
10.1.2 Ability to learn............................................................................................................................................................ 50
5
10.1.3 Dependability ............................................................................................................................................................. 50
10.1.4 Initiative ..................................................................................................................................................................... 51
10.1.5 Quality of work........................................................................................................................................................... 51
10.1.6 Relationship with others............................................................................................................................................. 51
10.1.7 Maturity-poise ............................................................................................................................................................ 51
10.1.8 Quantity of work......................................................................................................................................................... 51
10.1.9 Judgment .................................................................................................................................................................... 52
10.1.10 Overall performance ................................................................................................................................................ 52
CONCLUSION ............................................................................................................................................................................. 53
REFERENCES ............................................................................................................................................................................. 54
6
Chapter One: Introduction
1.1 Preamble
An internship provides an opportunity for students to work at an organization for a certain, minimal period
of time to exercise their knowledge and get familiar with industry practices and cultures. It delivers students
a period of practical knowledge and experience in the industry based on their field of study. It plays a
significant role to build up a communication bridge between academia and industry since industry discovers
the capability of potential students. Experience and knowledge acquired through this internship program are
beneficial to the student since it helps students encounter how their studies are applied and implemented in
the real life project and work. As it provides real-life work experiences, it helps a candidate to enrich one's
CV.
A wonderful internship opportunity is offered by Institute of Information Technology (IIT) to their students
for having an internship during bachelor program IIT always give emphasis on both academic study and
industry practices to keep up-to-date and cope up with new technologies. A variety of technically specialized
courses is conducted by industry professionals to accomplish its objective. Occasionally industry people are
also invited to host seminars and workshop to talk about their culture and practices with students. Another
effective and practical approach is the six-month internship program offered at 7th
semester of bachelor
program.
Being a student of IIT, after completing my 6th semester successfully I was offered to take the internship
program at Secure Link Services BD Ltd (SELISE)
It is a multinational company and one of the leading software companies in Bangladesh. The internship
program helps to apply my knowledge in real life projects. I tried my level best to gain knowledge of the
industrial culture and practices so that I may apply this gained knowledge and experience in my upcoming
academic courses and career.
1.2 Origin of the Report
To submit a report on internship program experience is a part of IIT bachelor program evaluation. To
represent the overview of SELISE environment as well as my professional growth and project involvements
as an intern, the report is designed .It represents the opportunity of perspective learning for the student at the
professional environment. It helps to provide forthcoming batches with an entire experience and feedback to
who would like to take an internship at SELISE. Especially it would assist them to develop their selves
according to SELISE’s culture and practices.
7
1.3 Objectives
1.3.1 Board Objectives
The main objective is to represent my significant practical and cultural experiences achieved through the
internship program at SELISE
1.3.2 Specific Objectives
 To point out the industrial and organizational practices I have experienced
 To illustrate the real life projects that I have worked on
 To represents the working environment of SELISE
 To highlight the core technologies and the software development process adopted by
SELISE
 To present the services (type of projects) provided by SELISE to different other
organizations and its client
 To describe the facilities and services provided by SELISE to their employee and intern
1.4 Scope
This report deals with my experiences and knowledge’s that I have earned through the internship program.
The company profile of SELISE and its culture are also briefly discussed here. How a team works and the
process of working as a team along with my role, experiences within a team are also summarized in this
report. How I have adapted myself with the company culture and technologies is also mentioned. Especially
through this report I try to reflect on my project involvements and my experience of working in a real life
projects. The report concludes by elaborating my technical and professional growth after experiencing the
internship program.
1.5 Methodology
The overall report is prepared by analyzing my experience at SELISE as intern and collecting
information from websites and documents provided by personnel of the company. Following are
the resources of data collection:
8
1.5.1 Primary data
 Practical experience from real life project
 Collaboration with colleagues and team mates
 Seminars
 In house activities
1.5.2 Secondary data
 SELISE official website
 Official document
 Internet
1.6 Limitations
As internal information of the company is highly confidential, so minimal information is provided by the
office. Since I have worked on specific technologies and single real life project, so it is difficult to give an
appropriate overview of other projects development process. Provided information about others project is
based on my experience and sharing knowledge with my colleagues. It is important to note that report size
is not enough to get a comprehensive and clear picture of the company profile.
9
Chapter 2: SELISE
2.1 Overview
SELISE is a developer of scalable software. It serves clients with innovative and automated solutions. That
is SELISE develops products for clients, with clients and sometimes against clients. SELISE is a Swiss
software development company that provides high quality industrybased software. It was founded in 2011.
They mainly outsource from Dhaka, Bangladesh- a promising area for the IT industry. It is a small company
with target pure development projects in .NET or Java. By continuously focusing on the epicenters inside
the tech community, SELISE draws on the latest technologies and attack the most challenging projects with
determined ATeams. With their High-End Development Center in Dhaka they provide solutions of any scale
concerning.
 Shared License Software Product Development
 Software Architecture and Technology Consulting
 Business Process Outsourcing
SELISE provides state-of-the-art software solutions to a wide range of clients, with a creative force
distributed over Dhaka, Zürich, Thimphu and Dubai. It’s clients are in consulting, egovernment, banking and
financing. Their customers are end consumers of SELISE and that's whom it focuses on in all their work. It
has an international family of about 70 members also referred as ‘Rockstars’. It has groups of developers,
designers, product owners, engineers, quality assurance engineers and business specialists. SELISE offers
software, content management systems, fun game apps to wide range of international clients. It focuses on
challenging requirements of clients and serves them with scalable, optimized and practical solutions. That is
any software that requires high load, complex algorithms, big data and high security, be it developed from
scratch or a legacy application that needs to be rebuilt are developed by SELISE.
10
2.2 Governing Body
2.3 Vision and Mission
SELISE strives to become a global brand for high-class software product engineering. SELISE’s mission is
to provide customers with services which are strongly based on intellectual capacity.
2.4 How Does SELISE Works
The following illustration demonstrates a complete organizational setup for SELISE A-Team software
development. The underlying structure allows for a maximum output. It can only be adopted with highly
talented developers and experienced senior engineers.
2.4.1 Strategic Partnership/ Sponsorship
The partnership is in needed for a “Strategic Partner” sponsor at the customers as well as a “Strategic Partner”
at SELISE. The responsibility of these “Strategic Partner” is to provide the “Product Manger” with an
adequate environment to execute the desired development process.
11
2.4.2 Program Management
The on-going development activities are run by the “Program Manager” at SELISE. This person is the main
contact on a technical level and shall be involved in all technical communication. The Program Manager is
responsible for the delivery and the establishment of Quality Assurance and User Experience Design
according to the Product Owner’s requirement.
2.4.3 Product Ownership
Customer defines a “Product Owner” who will continuously collect requirements from all the stakeholders
and pass the information in an organized way. Depending on the project size, SELISE appoints a “Proxy
Product Owner” who will support the Product Owner in his information gathering process, maintain the
communication iterations and compare requirements with the developed software.
2.4.4 Core Development Team
A fully functioning development team is in need of a “Senior Software Engineer (SSE)” with 6 to 8 years of
experience who covers the role of a “Project Manager”. This senior is supported by two “Software Engineers
(SE)” and one “Junior Software Engineer (JSE)”. In small projects, a team can start with one SSE and one
SE or JSE and then grow to a basic team of four developers. In specific cases, the team may vary.
2.4.5 Quality Assurance
“Quality Controllers” are selected by the Project Manager from the independent Quality Assurance team in
SELISE. They continuously assure the quality of the created software. A main part of their work consists of
setting up automated tests for the software which is undergoing the current building process. Regular code
and design reviews are initiated, governed and reported by the head of the Quality Assurance team according
to the requested standards.
12
2.4.6 User Experience Design
“User Experience Design” translates requirements into visual user interfaces which optimize interaction
between users and the software created. SELISE UXDs work according to the latest standards unless
demanded otherwise. The amounts of services these engineers deliver strongly depend on the scope and
purpose of the underlying software as well as the Product Owner’s stack of requirements. (SELISE website,
2012)
2.5 What SELISE Do
SELISE manage software projects in what they consult, architect, develop, design and test. Any software
development process needs complete integration of customer requirements, development, user interface
design and validation. Projects are done with the critical participation of a senior SELISE system architect
at the staring phase of planning. A detailed wireframe of the software system is delivered to clients for
integration of user requirements and system architecture. After this phase development starts and regular
testing continues with development process. Regular client meetings and live demo are performed as part of
project management for being up-to-date with clients and management. Following Figure 1 represents their
actual integration process of development and requirements.
13
Figure 1: Software Project Integration of SELISE
2.6 Software Development Process
Software development process is a division of software development work into distinct phases containing
activities with the intent of better planning and management. It is often considered a subset of the systems
development life cycle. The methodology may include the pre-definition of specific deliverables and artifacts
that are created and completed by a project team to develop or maintain an application. SELISE also follow
this development process while implementing their projects. They follow agile methodology to support
proper integration of project requirements. The following steps describe the development process adopted
by SELISE.
2.6.1 Requirement Identification
They identify the challenge first that their business is facing. They start working as soon as the initial scope
is defined. This allows evaluating mutual velocity with clients. If they already are in a large project, start
14
with a 3-5 days intensive consultancy that results in a detailed report and a management summary on viable
solutions.
2.6.2 Context and Process Capturing
Each project is assigned a product manager in order to capture current business context. Which market suits
the business contexts, who are the competitors, what software they use or offer, what is their core competence
and what core processes drive it- all this inquiries are responsibility of product manager. Once this
information are collected, product manager and one of senior architects then work out an appropriate
technology stack, architecture and define the business goals of the upcoming product.
2.6.3 Proof of Concept
Seniors are provided with dedicated off-site team and the first prototype applications. The full team work
towards to find out potential solution process through research and development to meet the needs of
stakeholders.
2.6.4 Up and Running
Once product development starts, a fluent agile software development process continues with continuous
integration and periodic releases to production. The complete development process is conceptualized,
documented, tested and delivered using latest technologies. Thus they reduce vendor dependency and enable
the product to be taken over at any state.
15
Chapter 3: SELESE’s Services and
Technology
3.1 Overview
In the 21st
century all companies and organizations are attempting to introduce automated systems to reduce
cost, overhead and ensure security issues. Information technology performs important role in serving these
facilities. Software companies serve these requirements of stakeholders and drive revenue.
SELISE offers client with a variety of services to meet the new challenges and invent new solutions to them.
Automation and data security of brands, E-government solutions for entities, resolving multi-vendor
integration issues, gaming innovation for hyped action games are brought by SELISE. Besides developing
quality assurance of this products are also ensured by the company. While working through such projects
SELISE has gained huge resource of experts and experience of ideal project management and development.
3.2 Rock in Software
Business + Technology = Rockin’ software
They think business, they’re addicted to technology. Awesomeness results from blending the two. Of course
they love to code. But don’t let their love for coding misguide you about our passion for business. They help
multinationals and startups define their go-to-market strategy, create new business units and transform their
legacy. Our tech-savvy business consultants work onsite and offsite in order to ensure maximum impact.
3.2.1 Digital Business Consulting
Digital business consulting from SELISE starts with a blueprint of your existing business model and ends
with a concrete action plan on how to improve your company’s competitiveness in dynamic markets. They
are not a typical technology implementation partner nor purely consultants, since they believe technology
investment should immediately drive business success. They firstly look at your strategy and break down
your entire business into segregated domains with clearly defined throughputs. Each of these domains will
then be linked back to the business’ strategic goals in order to determine where your organization could use
improvements. Finally, they then help you drive real innovation with measurable business goals such as
sales, user numbers or average cost of certain actions. In a nutshell: They are here to bring a true digital
16
culture into your organization and carve out immediate success. What do they mean when they say digital?
It is not simply about having a website or a cloud application. Today, being digital is more about having of
a mindset or a pattern of thought. It is all about being agile and adaptive. Our expert business consultants
hold valuable industry experience and are backed by individuals from our tech team. This allows us to move
from an idea to a prototype in no time.
3.2.2 Solution Engineering
With a combination of rigorous Swiss quality management, exceptional international talent and an efficient
cost structure, SELISE is truly rocking’ it. Our offshore engineers are digital natives who understand what
they do and why they do it. Our teams perform professionally on a global scale and deliver successful
solutions with world class engineering teams, product managers and business consultants. All of which
follow state-of-the-art delivery and maintenance methods.
Solutions
With the emergent growth of client’s needs, Secure Link Services Ltd provides effective solutions to
challenging business problems. Following are the solutions offered by them:
 Large scale enterprise solutions
 Automated Generalized System of Preference (GSP)
 Mobile payment
 Mobile game innovation
 Public transportation
 Government consultancy
 European mobile banking security
 Investor community portal
 Algorithm development
 Automated start-up and investment solution
 Data security
3.2.3 Co-Development
SELISE is driven by innovation. , as a partner, only provide them with market knowledge – leave the
technology and digital aspects to them. Ideas and our technical expertise can prove to be a priceless asset in
jump-starting business. And, if they feel that our business models and values go hand in hand, they are ready
to partner up with you in a joint business, business venture or shared revenue model.
17
3.2.4 SELISE Digital Production
Businesses today often find themselves in need of websites, online ads or small portals that follow current
best practices in web, media and social media in order to promote their content. Their sister concern, SELISE
Digital Production, is an excellent offshore partner for providing high quality and low cost solutions for those
needs. SDP is also offers social media management, quality translation services and general outsourcing of
IT processes.
3.3 Major Clients
SELISE is expert in developing software that requires to be developed from scratch or needs to be rebuilt
(2). Because of their impressive way of developing quality product, SwissLife, ruf, investiere, index capital
group and blue code have become their major clients. With the cooperation of highly qualified work force
distributed over Dhaka, Zurich Thimphu and Dubai SELISE is working for the clients who are in consulting,
e-government, banking and finance.
Customers of the clients are the end customers for whom SELISE focus on in all their work.
18
Figure 2 Major Clients of SELISE
3. 4 Development Skills and Experience
SELISE has wide experience both in development platforms and business domains. It does not specialize in
particular technologies, but it has definitely proficient and experienced with a wide array of tools and
systems. Every product is unique and it tries to fit the right team with the right skills for that particular
product. SELISE has gained expertise in different types of field. Following are some of them:
 National archive foe government
 Garments procurement app
 Content management system
 Parking management app for a start-up
 Referral app for a large financial company
 Advertisement campaign manager for a large financial company
 File system drive for government
 E-commerce
 Banking
19
 Financing
 Consultancy
 Performance measurement application
 Payment systems
3.5 Human Resource
SELISE has a family of about 70 Rockstars. They are planning to recruit more. Since the beginning, SELISE
has grown in number of resources and production every year. SELISE always look forward to hire the best.
They have their unique hiring process including Super Talent Program and also emphasize on training and
schooling facilities to keep their employees up-to-date with new technologies.
3.6 Recruitment Process
For recruiting experienced professionals, this goes like an initial phone interview and upon getting a green
signal here, a face to face interview. After this interview, they decide whether they can hire the candidate or
not. SELISE believes in what a person actually is, not just facts on paper. So candidates need to bring
examples of work they’ve done, cool stuff that they are passionate about, and things they want to do.
Interviews range from pointed questions about work examples to casual conversations about life. For fresher,
SELISE has Super Talent Program. This is an accelerated program to take Rockstars to the next level with
duration of 3 years with clear indications of the salary package, career growth, increment etc.
20
3. 7 Technologies and Frameworks
SELISE is not specialized or stuck within specific technologies. With passage of time they gain expertise in
different technologies and frameworks and arrange seminars or schooling programs to share the knowledge
with other SELISIAN. Following are some of their used tools:
.NET & Microsort World: ADO.Net Entity Framework, ASP.NET MVC,
Microsoft Enterprise Library, Share Point, Spring
JAVA world: Spring, Hibernate, JSP
Servers etc: Tomacat, Nginx, IIS
Database and NOSQL: MS SQL Server, MySQL, Mongo DB, Oracle
Javascript Universe: jQuery, jQury UI, Node.js, AngularJS, Knockout.js
World of Web: HTML, CSS, DHTML, XML, XHTML, XSLT
Mobile Space: Objective C, jQuery Mobile, Android, HTML5,
Framework and Concepts: Pear framework, Event sourcing pattern
21
Chapter 4: SELISE’s Environment & Culture
4.1 Overview
Man power is one of the most important resources of any organization. Performance and success of an
organization depends on the employee of the company. Therefore providing a healthy and friendly
environment in addition with professional setup is very important. SELISE believes that in the journey
employee should stay fit both physically and mentally while absolutely loving what they do. Hence, SELISE
provides all the facilities that are needed for refreshment of the employees while doing their creative jobs.
4.2 Location and Physical Layout
SELISE is a multinational company which has its office distributed in Zurich, Dhaka, Dubai and Thimphu.
Following is the address of SELISE Dhaka office -
Midas Centre, H-05
R-16(New) Dhanmondi
Dhaka-1209
Bangladesh
Figure 3 Dhaka (left) and SELISE HQ (right) Office of SELISE
22
4.2.1 Dedicated rooms
SELISE has hired full floor of Midas center to support its employees sitting arrangements. Each team is
assigned with their dedicated rooms. Product owner, team lead, developers, UX designers and quality
assurance engineers of a dedicated team sit in their own room. It ensures proper collaboration and co-
operation of team members. And if any team member is stuck in any stage of development process, it is
expected that he/she would shout to seek help from his/her team members.
4.2.2 Comfortable Sitting Arrangement
As developers work for hours sitting on the same chair looking at their desktop, SELISE provides
comfortable chairs which are adjustable to their height and arms.
4.2.3 Green Plants
Plants do more than just enhance the beauty of your surroundings, many actually clean pollutants out of the
air as they add oxygen and humidity to the indoor environment. Each room has various types of plants located
in the corner of the rooms.
4.2.4 Dinning and Prayer Room
Dining room is located at the old office of SELISE beside Midas and buffet lunch is served to the employees
with variations. Prayer room is also available in office premise.
4.3 Office Schedule
SELISE offers flexible time schedule for employees. Sunday to Thursday is official working days. Though
employee are expected to work 9 hours per day, a full day time is considered if anyone enters the office
before 12 pm and leaves the office after 4 pm by the measuring the time of employee punch card. Employee
are not supposed to work in pressure, they can take breaks during their work.
4.4 Dress Code
There is no specific dress code in SELISE. Most of the employee comes with formal dress up. But no one is
allowed to reach office with unusual dress up. Dress that contains logo of other software firms or competitors
is not allowed in office space.
4.5 Fine System
SELISE has strict fine system in case of breaking official rules. These fine are collected and used for small
parties or events for recreation of employees. There a ‘lost and found’ box for keeping lost property of
23
employees. If anyone can give proof of the ownership of the property, then he/she need to pay fine to regain
the property. Employees are also fined in case of being late in CTO meeting, scrum meeting etc.
4.6 Admin and Technical Support
There is dedicated admin and technical support group. The admin group takes in account the management of
weekly seminars, food management, annual trips, official complaints and many other activities. The tech
support group is always there for solving hardware and network related issues and support required
environment at the time of live demo.
4.7 Organized Structure
SELISE practices an organized company structure. All the official works are done through a predefined
official process. In case of leave management, the employee needs to fill up a leave application and require
the signature of the team lead for approving it. Each employee has 15 holidays in a year other than the
government holidays. So employee can use these holidays as per their needs.
4.8 Sprint Planning
As mentioned above each team is closely managed by one product owner. As SELISE follows agile software
development process, development phases are divided into sprints. Normally sprints contain two weeks that
is 10 working days. At the starting of each sprint, development requirements are identified and development
process is planned in presence of all team members. After that product owner and team lead divide the sprint
into small stories and breaks the small stories into tasks. Each task is assigned to individual team members
and it is the duty of the team members to fulfill the task within given time schedule.
4.9 Daily Stand Up
At the starting of each working day daily stand up is hosted by product owner and all the team members are
invited. If any team member is late at the meeting, he is fined with 50 taka. The standup plays important role
in development, as all team members clear their dependency of work with others. Each team member also
needs to specify what he has done yesterday, what he will do today and if he needs any co-operation of other
team members. As a result the whole team remains up-to-date about the current status of their project and
share their knowledge themselves.
4.10 Weekly Seminars
Every Monday seminar is arranged by office. One of the employees gives presentation on in the seminar.
Everyone is bound to take a seminar throughout a yearly schedule and also gets a huge reward for the best
seminar. It is mandatory for all the developers to attend the seminar. All other employee rate the presentation
of the speaker and this evaluation plays role in the evaluation process of both the evaluator and presenter. It
24
is also a process of knowledge sharing. Birthdays are also celebrated on Mondays and delicious food is served
at the seminar.
4.11 Co-operation
All the employees of SELISE are co-operative and helpful. It is not necessary only team members help each
other. If any employee is stuck at any stage, he/she can ask for help of any senior or expert of other team too.
As large projects are developed parallel, all the team members help each other to present a successful demo
at the end of the sprint. Valuable ideas and solutions are always offered by chief technology officer (CTO).
4.12 Friendly Environment
I have almost spent 5 months as an intern in SELISE. All the members did no differentiate us with other
employees. All the members are very friendly. They help us to adapt with the new changes and challenges.
And this friendly environment helps us to refresh our minds while working for hours.
4.13 Inspiration
The environment of SELISE is really inspiring. Especially my team lead inspired me after each completion
of every small task. This inspiration helps to become more focused to my work. Upper management also
inspires the full team after successful client demos. Sometimes chief technical officer gives treat to the whole
team and takes them to team event.
4.14 Facilities for Employees
High productivity of employee plays vital role in the economic development of an organization. Salary is
only the hygiene factor of job satisfaction. Motivating factors influence the employee’s dedication towards
his work. SELISE provides various facilities to their employees –
4.14.1 Dedicated Workplace
Each employee is provided highly configured PC for development purpose and other staffs like notebooks,
pen, first aid kits etc for their usage.
4.14.2 Tutorials
Licensed video tutorial are supplied by office for learning purposes and various development tips and videos
are also published in the official website.
4.14.3 High Speed Internet
24 hour high speed internet facility is provided and all internal and external communication with clients and
members are done through Skype.
25
4.14.4 Domestic Environment
SELISE is like a family of rock stars. They help each other not only in professional life but also in their
personal life. Working here is fun and working for the company is individual’s responsibility.
4.14.5 Schooling Program
SELISE School is a program where different workshops are orchestrated on trending topics. At the end of
these workshops, examinations are held covering the topics and marks are updated in a spreadsheet for
employees to observe their performance level and progress.
4.14.6 Training
SELISE believe in training and its importance to both employee success and the success of company
business. SELISE have a harsh process of continuous learning and coaching. On this purpose, SELISE holds
regular workshops and training sessions around the year. SELISE have weekly seminars to keep the
SELISIANS updated about the recent trends and technology.
4.14.7 All Day Free Food
All day free food is available here. Buffet lunch is served. There is also daily surprise food and dinner
arrangement for employees who work for late night. There is a ‘Hunger Hunt’ box where food is available
in case of sudden hunger. Coffee and tea are served all the day.
4.14.8 Team Fund
After joining the company each employee has his own team fund and taka 500 is given in his fund at the end
of every month. Employees use the money at the time of team event.
4.14.9 Games
The compound out of SELISE old office is dedicated for playing outdoor games like cricket, badminton etc.
In the middle of their work employees take part in table tennis, carom etc. Annual game tournaments are
arranged and winners are rewarded with attractive gifts.
4.14.10 Reference Points
If any new employee is hired by the company who is referred by any existing employee, the referrer gets
bonus point. After earning a certain amount of bonus point employee gets rewards ranging from dinner
package to Bangkok Trip.
4.14.11 Recreation
SELISE has different ways for recreation of employee. Release parties, picnics, outings are part of it.
Employees are taken out of the country for annual trip every year. In spite of being an intern, I received all
these facilities and consider myself lucky.
26
Birthdays of the employees are celebrated with birthday cakes. Teammates give surprise gift to the employee
to make him feel special.
After successful completion of sprints, teammates enjoy parties using team funds.
Annual dinner party is also arranged by Office where employee attend with their family members.
4.15 Culture
SELISE has a great working environment with a rich culture of fun and professionalism that attracts the best
talent. Cultures that I have found in SELISE Software are discussed below:
4.15.1 People
SELISE believes in what a person actually is, not just on papers. It runs regular training and review sessions
to keep employee on the top. And its culture of constructive criticism, learning and sharing expands our
horizons and keeps employee level headed.
4.15.2 Corporate Culture
In 2015 SELISE was mentioned in an extensive story in Bhutan’s national newspaper Kuensel. The article
shades light on SELISE’s successful expansion to the exclusive Himalayan resource hub. After a pilot phase
in 2014 today SELISE maintains a small Rapid Application Development Team in Thimphu, the capital city
of Bhutan.
4.15.3 Fun and Passion
All the employees are always connected with each other and share a special bond among them. Sometimes
its about doing research and development, sometimes having errors in code, sometimes discovering new
solutions to problems, sometimes planning for events or sometimes its just selfie time.
4.15.4 Sports
Sports are a part of SELISIAN culture. All the time there is a crowd seen around the playground. Everyone
competes to get the play board. Yearly playing tournaments are arranged and rewards are given to the
winners.
4.15.5 Working Environment
SELISE has a great working environment at the office space, totally custom designed for a software
development company. From color selection to furniture orientation it has been very careful to create an
environment that actively enhances the knowledge exchange and collaborative nature of work. All teams are
working dedicatedly in their own rooms. All the rooms are kept sound proof to maintain privacy and ensure
corporate environment in the room.
27
4.15.6 Good Bye Gifts
All the members take part to buy gifts and surprise cards to wish any employee leaving the company.
Sometimes they throw parties to say good bye.
4.15.6 Annual Trip
SELISIANS are always on the move – let it be the annual company trips and individual business trips
throughout the world or fun trips to cool places in Bangladesh. Switzerland, Austria, Germany, UAE,
Malaysia, India, Bhutan – everywhere new experiences are enriching and refreshing SELISE minds.
4.15.7 Weeding Party
SELISE family always attends marriage ceremony of their employees. Either the employee invites all his
colleagues to the marriage ceremony or arranges a feast at office premise for all SELISIANS. A grand gift
is arranged for the married couple by participation of all SELISIANS.
28
Chapter 5: Internship at SELISE
5.1 Overview
The internship is a process of job training where student get benefited by gathering practical knowledge,
especially for technological students. It works like a bridge between the software industry and the students
.It is a way for both the company and the student to promote each other where student represents their talent
and capabilities and industry represents their culture, working environment and technology.
In 2016, I start my internship at SELISE .I think myself fortunate to become an intern of SELISE
This internship experience helps me not only to practice my theoretical knowledge and sharing my ideas but
also make me conscious of different perspective of software industries of Bangladesh along with that is very
essential for me and my future career
5.2 IIT and SELISE
It is a culture of IIT to arrange seminaries in its institute premise by an industry expert to promote their ideas
and working experiences. In the end of 2013, SELISE has arranged seminars to promote their ideas and
technology before recent freshers of IIT. The CTO of SELISE Shah Ali Newaj Topu delivered an excellent
presentation that motivates IITian about SELEISE. The formal BSSE program chairman of IIT Dr. Kazi
Muheymin-Us-Sakib gave a proposal to SELISE CTO for taking intern at SELESE for completing student’s
7th semester with real work experiences. According to this proposal SELISE allows IIT to send intern from
2015.In the first of 2016, we were asked for an interview with chief technology officer of SELISE. He had a
formal discussion with us about our field of interests, preferred technologies and what we expect from
SELISE. We joined SELISE on 1st
January 2015. We were welcomed warmly and they provide us with all
the facilities without any complaint.
5.3 Facilities for Interns
From the first day, SELISE family welcomed us just like any new employee. We were introduced to the
other members of SELISE family by the human resource manager of SELISE. We are treated as any other
29
employee of SELESE .It never makes us feel that we are the intern here rather than an employee .From the
beginning, we are taken care by our CTO and our supervisor .They spent their valuable to make us
comfortable and adaptable to the new environment and technologies.
There are lots of facilities SELIES provides to its intern where following are some of the facilities
 Dedicated workspace like any other employee
 Individual PC and other facilities
 Healthy amount of remuneration
 Small sessions on new topic from CTO
 Smart coding tips from CTO
 Opportunity to get familiar with new tools
 Opportunity to work in real life project
 Become a member of real life project team
 Flexible working time
 Leave for academic activities
 Flexible working environment
5.4 Schooling Programs and Training
In early days, we are trained under our supervisor .He gave us theoretical knowledge and concepts about new
technologies and work. He teach us what is the best practice of that particular technology, how to attack a
problem to implementing requirements using this technology .After some days later we are admitted to
SELISE SCHOOL. It is an institute within an organization that is completely autonomous. In the school, we
have to attend class after finishing our office hours. We are provided delicious snacks during the classes .At
the end of the every class, some assignments are given to us to do it at home and submit it to the next class.
It is mandatory for all of us. If we are unable to submit our assignments then I am fined by the course
instructor.
Here are some of the courses completed by SELISE so far:
 Agile Software Development
 Object Oriented Programming
 Design Pattern Returns- Rise of refactoring
 Test Driven Development
30
 SharePoint training
 Close Encounters with AngularJS
 35mm (A series of video sessions)
5.5 Assignment of Work
In most of the cases, the company treated intern as immature resources. Besides, they are not assigned to real
work .However, SELISE not only gave us the opportunity to work in real life projects but also allow us to
share our personal opinions and approach to finding out the solution of a problem. If our approach is
considered to appropriate to them, it is cordially accepted and they implement it into their project. This also
gives us inspirations and motivations to keep that practice.
5.6 Evaluation of Interns
Every learning program should be ended up with the evaluation process. For completing the evaluation
process of our internship a form containing questions regarding our technical, professional skills, growth,
and quality of work, punctuality, and analytical ability is sent to SELISE from Intern Placement Office of
IIT. My team lead, company CTO and the product development manager of the project I have worked on it,
perform the evaluation process. The feedback of this evaluation is really essential for me as it reflects my
SWOT analysis that helps me to improve myself and overcome my weakness for my future career.
5.7 Conclusion
I have just passed almost five months of my internship, I just really love and appreciate the facilities provided
for us at SELISE. In one word it is really excellent the process they adopt for the intern management .I am
thankful to IIT and SELISE for paving the way for me to take my internship at SELISE and completing this
internship successfully.
31
Chapter 6: Training & Schooling
6.1 Overview
We have completed different courses in our academic life based on different technologies and technologies
such as object oriented programing, web technology, software testing, analysis and design. We have just
learned the academic practice and concepts but how to apply this knowledge with actual industry practice
we don’t experience. As internship is a part of our academic curriculum it plays an important role learning
and schooling phase of a student. We have no prior knowledge about internship, my team lead and CTO help
me to overcome this situation by taking session on different concepts, schooling us in SELISE School and
getting work done by us on different types of assignment
6.2 Assignment Contact Manager Application
At the first day of our interview, we were assigned to an assignment to implement a Contact Manager
application. The requirements of the applications is divided into two sections the frontend and the backend
.We are supposed to do the backend using Asp .net C# MVC framework including using the ORM ,entity
framework. Besides the fronted would be done using pure htlm5 bootstrap and popular JavaScript frame
work Angular js. We got 7 days to get the work done by ourselves and we have to represent this project in
the first day of our internship
6.3 Project Funny Facebook Application
After presenting our assignment, we are assigned to do another assignment where we have to choose our
own idea but we have to implement the idea with the requirements that are given by our team leaders. I have
chosen to make a funny Facebook application using the required technologies. The required technologies
are, Asp .net Web API 2 with Odata, MVC framework with entity framework, Sql server, and Angular js
with routing using ui-router along with HTML5 and Boot strap.
32
6.4 Tutorials and other resources
My team lead and team members share important resource such as links, book, hand on codes to help us
overcoming the learning phase. Besides licensed and paid tutorials are downloaded and provided by the
company admin support. Seniors also help us on how to utilize this resource and how keep the best practices
6.5 Communication and Collaboration
After few days I get familiar with my teammates and colleague’s .I am very fortunate to have such teammates
and colleagues very friendly and cooperative. They teach us how to keep up communication among the
colleagues using social media and groups. SELISE provides some specific groups to connect its employees
such as SELISE Talk in Gmail, SELISE Facebook group.
Admin group, Technical Support Group and the Human Recourse Department provide really impressive
assistants to us .They help us to learn the company constitutions and rule to be comfortable at SELISE.
6.6 Working Environment
In beginning I experienced it a little bit hard to cope up with the new technologies in new working
environment with a tight deadline. However there is no fixed time for learning before starting to working in
a projects .Every time when an unknown problem arises SELISE follows R&D (Research and Development)
strategy to find the approximate solution of it.
33
Chapter 7: My Project Involvements and
Contribution
7.1 Overview
After joining in SELISE, for the first month I was supervised by my team leaders. Before assigning me in
real life project, he gave us training on different technologies on which SELISE works on. I have to pass
through three phases. First doing a demo project to show what I have known already, second learning a new
framework to work within a team, and finally working in a real life project.
I was treated as a fresher’s and allow me to give a proposal to do a demo project using their required
technologies. After completing the project I was assigned to ECAP team where I have to learn ECAP
framework and build application on ECAP platform.
Last my supervisor allow me to work in a real life project namely Jamahook recently launched as a beta
version. The following part of this chapter I describe this three phases
7.2 Entertaining Facebook Applications
I have chosen to build Facebook applications for learning their technologies along with learning the Facebook
app development
7.2.1 Requirements
Normally Facebook users try different types of entertaining applications for recreations .Most of the
application have some common features. I gathered the following requirements for building the application
 User will be able to create their apps account
 User will be able to edit their account information’s
 User will be also able to sign up to the application using Facebook account
 User will have to give some input to get application result
34
 User can Share their application result in their Facebook timeline
 User will be able to use multiple application in one account
7.2.2 Team Members:
As I mentioned before it is a single project that is done by me. However my supervisor Mr. Jonayet Hossain
and my mentor Md. Hamim Ur Rahman help me a lot to complete this project from the scratch.
7.2.3 Tools and Technologies
The following tools and technologies have been used for the development of the project
 Microsoft .Net framework 4 for server-side code
 OData framewrok
 Entity Framework 6
 Token based authentication
 AngularJS for client-side
 JavaScript
 AngularUI
 Bootstrap
 MSSQL
 Node Js
 Visual Studio 2013
 JetBrains WebStorm
 Plunker Postman
 Chrome Developer Tools
7.2.4 Working Periods
I was supposed to complete this project within a week .I have successfully completed the project with meeting
the deadlines
7.2.5 Challenges
I have faced so many challenges as I had to adapt some new technologies and environment. Besides I have
to do some R&D on Facebook application development.
7.2.6 My Learning
I have learned and gathered knowledges about lots of new technologies and frameworks. For client side
developing I have learned JavaScript including the most popular JavaScript fronted frame work Angular js
35
with UI-routing , Bootstrap .As I have developed Facebook application I have to learn how to use Facebook
java script sdk and Facebook Graph API. Besides for the server side I have learned asp.net web api, mvc,
token based authentication and authorization, OData,etc
7.3 ECAP
ECAP is a platform containing standardised application components that allow for rapid application
development. The platform can be considered an aPaaS (Application Platform as a Service) which offers
crosscutting and reusable functionality required by web based business applications. Such functionality is
provided by specific micro services that scale individually, thus making the platform highly maintainable
and resource efficient. ECAP components are under constant development and renewal which keeps it up to
date with the latest technology. ECAP requires a rather complex hosting environment with different hardware
and network components that also scale individually and is hence best fit for modern cloud hosting
infrastructures such as Amazon Web Services, Microsoft Azure or Google Compute Engine
7.3.1 Requirements
Learning ECAP is very interesting as it is a totally new to me and woks using different technologies
The following requirements is meet for learning ECAP and building application on ECAP framework
 Gather knowledge about ECAP
 Learning how ECAP works how to create an application using ECAP framework
 Learning angular material design based on angular js framework.
 Learning how to query on database using Robo mongo
 Learning how to debug JavaScript using chrome development tools
 Build demo application and communicate that get data form server and post data into server
 Design the front of this application using Angular material framework
7.2.2 Team Members:
As I mentioned before it is a single project that is done by me. However my supervisor Mr. Jonayet Hossain
and my mentor Md. Hamim Ur Rahman help me a lot to complete this project from the scratch.
36
7.3.3 Tools and technologies
 Angular Material framework
 AngularJS
 AngularUI
 Bootstrap
 OData framework
 JavaScript
 Node Js
 Visual Studio 2013
 Plunker Postman
 Chrome Developer Tools
7.3.3 Working Periods
I was supposed to complete this project within a week .I have successfully completed the project with meeting
the deadlines
7.2.5 Challenges
I have faced so many challenges as I had to adapt some new technologies and environment. Besides I have
to get deep learning on how ECAP works for both the client sides and server sides ,how it reuse its
components and how the data services are provided from the backend to frontend
7.2.6 My Learning
I have learned and gathered knowledges about lots of new technologies and frameworks. I have learned how
ECAP works in both the client side and server side .I have learned material web design using angular material
design framework.
7.3 Jamahook
Jamahook is a music matching service and a social collaboration platform for musicians and music
enthusiasts. The core idea of Jamahook is to pave way for a collaborative marketplace where music
enthusiasts, musicians, producers and other players in the music industry can upload their tunes and find
suitable matches that can allow one to complete their unfinished compositions. Finding a match for any tune
in Jamahook is as easy as it gets. Upload tune and the music matching service will search the vast library of
37
Jamahook to find the best matches that will complement with the uploaded tune and the Jamplayer will let
user compare the found results with the reference track. The Jamplayer is a music player with multi-track
support to help users compare the matches with the reference track and facilitate the mix-and-match for
finding the right track. User may register to the Jamahook site or remain as anonymous user .However the
registered users get extra benefits compared to the unregistered ones such as:
 Access to the Jamahook Now, our social collaboration platform for the users to interact with each
other, post content and browse their news feed.
 Access to the Jamahook marketplace for buying and selling tunes.
 200MB of storage space for uploaded tunes.
 Ability to add two tunes at a time to the Jamplayer in addition to the reference track compared to one
track for the unregistered users.
7.3.1Tools and technologies
 Angular Material framework
 AngularJS
 AngularUI
 OData framework
 JavaScript
 Node Js
 Visual Studio 2013
 Postman
 Chrome Developer Tools
 Mongo DB
 RoboMongo
 Asp Net Web API 2
7.3.2 My Contribution
I have contributed to this project in different aspects such as developing, testing, and analyzing. I have
implemented some important features for Jamahook. The following are my contributions in Jamahook.
38
 Initializing different type of application on ECAP such as Marketplace, Mycart, MyWishlist, Faq,
Treading. This application are considered as component on ECAP platform
 Implementing user profile pictures uploading and broadcasting to others component of ECAP
 Implementing an important features that allow user to post external url preview in their newsfeed
 Conducting load testing on Jamahook site using Apache JMeter , Selenium .
 Identifying and solving bugs in Android and ios platform using chrome remote debugging tools and
safari web developer’s tool.
7.3.3 Challenges
I have faced so many challenges to perform my assigned task as I worked as a frontend developer, I have
faced the following challenges
 Debugging JavaScript code is very difficult and tedious. It’s really a challenges for me debugging
JavaScript code and analyzing bugs.
 I have to deal with user interface of Jamahook .As Jamahook is developed using angular is material
design .It seems to me challenging to get the desired user interface and interaction using this
technologies
 Debugging application on android and ios based smart phone ,it’s really tedious. As it takes time to
setup the environment and I have to do remote debugging for detecting and solving the bugs
39
Chapter 8: Professional Growth
8.1 Development Technique
In IIT I have learned so many software development process like waterfall approach, spiral approach, agile
development process etc. I have already followed the waterfall approach in my Software Project Lab (i) and
(ii) course .However I had little bookish knowledge on agile development process. As I mentioned earlier
SELISE follows rapid agile development process, I am supposed to follow this process in my team. It helps
on how I adapt my code when requirements changes one sprint to another sprint. To keep me up-to-date,
daily scrum meeting support me to know the requirements and technologies. Since the scope of the projects
is huge and everyone works in different module, it is difficult to anyone to know everything of the projects
.So knowledge sharing sessions are arranged to discussion the problem and its approximate solution among
the team members
8.2 Pair Programming
When I write code, subconsciously it seems to me I always write the clean and bug free code. However it is
not a good thinking at all. It is impossible to write bug free code or completely remove bug from the code
but our approach may reduce bug from code. Pair Programing is the approach to detecting bug, optimize the
code and also do faster development. I have done pair programing with my team members .It helps me to
share knowledge ,ideas and detect the bug instantly .In Generally Pair Programing detect more design
alternatives than a developer working alone. Some research studies claims that pair programming produce
software with less numbers of bugs that software developed alone.
8.3 Respect for Each Other
From the very first day I have learned from IIT about “Respect” as a moto of IIT. To get respect from others,
first and foremost we have to show respect to others. It is must to give proper respect to other when have to
work in a team along with corporate environment. It develops the mutual understating among the team
members and make the relationship strong. A friendly working environment is created by me just doing this
practice and a helping hand of seniors is always there for me.
40
8.4 No bullying and blaming
Team work is mandatory in Software Development and it is very common within a team to misunderstanding
to each other for any reason. Usually I didn’t observe my team leaders and project development manager to
blame or bully people working under their supervision. From my point of view during my internship I have
made a lots of mistake but my team leaders and my project manager had never misbehave with me .It is not
the solution to blame others for their mistakes .It make the mutual understanding among the teammates
worse. My teammates not only encourage me in case of my success but also helped me to fix the problem in
case of my failure
8.5 Dedication for Work
Being an intern at SELISE, it is my main purpose to learn and experience new things from the corporate
environment and the seniors. So dedication of work is important for me .Each members of the team has
assigned work to perform it within a deadline. To meet the deadline I have worked dedicatedly during my
internship period.
8.6 Attitude
I feel fortunate to be a part of a team where I observed some extraordinary talented peoples surrounding me
.It feels great working with such successful software Engineer as well as a successful man. They always try
to say the appropriate talk to the appropriate situation .How to make right decision on any situations. Their
professional attitudes and their passionate of work influenced me a lot
8.7 Negotiation
Negotiation is a first and foremost condition for developing a software for client .However in SELISE
negotiation with the client is done by one person the Project Development manager. We the developer
negotiate with each other or solving a problem .It is the development culture of SELISE to analyze a problem
41
individually then share opinions to each other than negation the opinion to reach an optimized solution of
that problem. It helps me to develop my negotiation capabilities.
8.8 Planning
One of the professional practice is planning before working. Especially in software engineering it is must as
development begins after planning. I have seen and practiced that all my seniors and teammates start their
day with a short planning meeting based on what individual do in that specific day. In software engineering
terminology we know it as scrum meeting. This meeting and planning help us to be stick to our spring
planning
8.9 Attendance and Punctuality
For being professional one should have to be punctual. It is an important issue in professional life. In SELISE
every person including CTO, has to attend the scrum, sprint planning meeting and CTO meeting on exact
time. If anyone fail to attend those meeting or get late for the meeting, s/he is fined by a certain amount
depending on the types of meeting .Besides if anyone fail to enter office before 12 pm, his/her attendance is
considered as a half day office leave .During last five months I never got late in my office or didn’t miss or
late any meeting at office. I always remain punctual and keep my trying
42
Chapter 9: Technological Growth
9.1 Overview
SELISE works in different platforms on client and product demands. As I mentioned before I am working in
ECAP team where windows platform is used as a major platform for server side works. Since I am considered
to be a frontend developer, so it is completely platform-independent for client side developing .Most updated
and registered version of Microsoft software and other development tools is provided to me. I have learned
and used a lot of new tools and technologies .From my point of view, it is the best time to get familiar with
different technologies as it helps me to develop my confidence and assist me in my future career
9.2 Tools and IDE
Choosing appropriate and optimized tool for implementing different problems is an important decision.
Programming tools make development easier. Following are the list of tools I used at SELISE for my daily
works:
9.2.1Visual Studio 2015
Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft. We have to use
Microsoft Visual Studio 2013 to work with ASP.NET and all the team members feel suitable to use it as it
offers a huge range of development facilities.
9.2.2Visual studio code
Visual Studio Code is an open source code editor developed by Microsoft for Windows, Linux, and OS X.
It includes support for debugging, embedded Git control, syntax highlighting, intelligent code completion,
snippets, and code refactoring. It is also customizable, so users can change the editor's theme, keyboard
shortcuts, and preferences.
Visual Studio Code is based on Electron, a framework which is used to deploy Node.js applications for the
desktop running on Blink layout engine. Although it also uses the Electron framework, the software is not a
fork of Atom and is actually based on Visual Studio Online's editor (codename "Monaco").
43
9.2.3Chrom DevTools
The Chrome Developer Tools (DevTools for short), are a set of web authoring and debugging tools built into
Google Chrome. The DevTools provide web developers deep access into the internals of the browser and
their web application. Use the DevTools to efficiently track down layout issues, set JavaScript breakpoints,
and get insights for code optimization.
9.2.4 SQL Server 2014
Microsoft SQL Server is a relational database management system developed by Microsoft. Previously, I
only worked with is MySQL. But for project purpose, I had to learn how to work in SQL Server 2012.
Though the queries were more or less same there are some features of SQL Server that I have to quickly
adapt with for its full utilization.
9.3 Frameworks and Languages
9.3.2 MVC
Model–view–controller (MVC) is a software architecture pattern which separates the representation of
information from the user's interaction with it. The model consists of application data, business rules, logic,
and functions. A view can be any output representation of data, such as a chart or a diagram. Multiple views
of the same data are possible, such as a bar chart for management and a tabular view for accountants. The
controller mediates input, converting it to commands forth model or view. The central ideas behind MVC
are code reusability and separation of concerns (4).
9.3.2ASP.NET Web API
ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of
clients, including browsers and mobile devices. With Web API content negotiation, we can return data based
on the client requests. What I mean is, if the client is requesting the data to be returned as JSON or XML,
the Web API framework deals with the request type and returns the data appropriately based on the media
type. By default Web API provides JSON and XML based responses.
Web API is an ideal platform for building pure HTTP based services where the request and response happen
with HTTP protocol. The client can make a GET, PUT, POST, and DELETE request and get the Web API
response appropriately. In summary, the Web API is
 An HTTP service
 Designed for broad reach
 Uses HTTP as an application protocol, not a transfer protocol
44
9.3.3 Entity Framework
Entity framework is a popular ORM of the ASP.NET framework. Entity framework comes with a code-first
approach which makes the database design really simple. The Entity Framework is a set of technologies in
ADO.NET that supports the development of data-oriented software applications. Architects and developers
of data-oriented applications have struggled with the need to achieve two very different objectives. They
must model the entities, relationships, and logic of the business problems they are solving, and they must
also work with the data engines used to store and retrieve the data. The data may span multiple storage
systems, each with its own protocols; even applications that work with a single storage system must balance
the requirements of the storage system against the requirements of writing efficient and maintainable
application code.
9.3.4 Odata
OData (Open Data Protocol) is an OASIS standard that defines the best practice for building and consuming
RESTful APIs (5). OData helps to focus on the business logic while building RESTful APIs without having
to worry about the approaches to define request and response headers, status codes, HTTP methods, URL
conventions, media types, payload formats and query options etc. OData also guides about tracking changes,
defining functions/actions for reusable procedures and sending asynchronous/batch requests etc.
Additionally, OData provides a facility for an extension to fulfill any custom needs of RESTful APIs. OData
RESTful APIs are easy to consume. The OData metadata, a machine-readable description of the data model
of the APIs, enables the creation of powerful generic client proxies and tools.
9.3.5 JavaScript
JavaScript also known as ECMAScript (the untrademarked name used for the standard), is a dynamic
programming language. It is most commonly used as part of web browsers, whose implementations allow
client-side scripts to interact with the user, control the browser, communicate asynchronously, and alter the
document content that is displayed. It is also used in server-side network programming with runtime
environments such as Node.js, game development and the creation of desktop and mobile applications. Our
web admin and web client application are fully done by writing JavaScript controllers.
45
9.3.6 Angular Js
Angular Js is an open-source web application framework, maintained by Google and community, which
assist with creating single-page applications, one-page web applications that only require HTML, CSS, and
JavaScript on the client side. Its goal is to augment web applications with model– view–controller (MVC)
capability, in an effort to make both development and testing easier.
9.3.7 Angular Material
Angular Material is a UI component library for Angular JS developers. Angular Material components help
in constructing attractive, consistent, and functional web pages and web apps while adhering to modern web
design principles like browser portability, device independence, and graceful degradation. It helps in creating
faster, beautiful, and responsive websites. It is inspired from Google Material Design.
9.3.8 ECAP
ECAP is a platform containing standardized application components that allow for rapid application
development. The platform can be considered an aPaaS (Application Platform as a Service) which offers
crosscutting and reusable functionality required by web-based business applications. Such functionality is
provided by specific micro services that scale individually, thus making the platform highly maintainable
and resource efficient. ECAP components are under constant development and renewal which keeps it up to
date with the latest technology. ECAP requires a rather complex hosting environment with different hardware
and network components that also scale individually and is hence best fit for modern clouds hosting
infrastructures such as Amazon Web Services, Microsoft Azure or Google Compute Engine.
 Cloud-based Hardware and Network Infrastructure
 Application Infrastructure Services
 Best Practice ASP.NET Web Application Libraries
 Best Practice UI Libraries
 Best Practice Mobile Application Libraries(IOS, Android, Windows Mobile)
 sssMultiplatform SDK Support (Java, Ruby on Rails, Python)
46
9.4 Source Control and Others Tools
9.4.1 Jira
Jira is a proprietary issue tracking product, developed by Atlassian. It provides bug tracking, issue tracking,
and project management functions. Our whole project is handled by using Jira board. One can see his
assigned tasks and the sprint activities in the dashboard. And every employee needs to update his status in
Jira board.
9.4.2 SourceTree
SourceTree is a powerful Git and Mercurial desktop client for developers on Mac or Windows. Our full
project is handled in git. All the members work concurrently on their PC and all their submissions are merged
by source tree. It is one of the most important tools that I learned at SELISE.
9.4.3 Fiddler
The Fiddler tool helps to debug web applications by capturing network traffic between the Internet and test
computers. The tool enables to inspect incoming and outgoing data to monitor and modify requests and
responses before the browser receives them. Fiddler also includes a powerful event-based scripting
subsystem, which one can extend by using any .NET Framework language. I used it while developing the
simple Http web server.
9.4.4 Node js
Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network
applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient,
perfect for data-intensive real-time applications that run across distributed devices.
9.4.5 Grunt
Grunt is an open source JavaScript task runner. It helps to concatenate JavaScript and CSS files as well as
create minified version of the files to reduce network latency while transferring JavaScript and CSS files
from server side to client end’s browser (7).
47
9.5 Cloud Computing
Cloud computing is a general term for the delivery of hosted services over the Internet. Cloud computing
enables companies to compute resources as a utility -- just like electricity -- rather than having to build and
maintain computing infrastructures in-house. Cloud computing promises several attractive benefits for
businesses and ends users. Three of the main benefits of cloud computing include:
 Self-service provisioning: End users can spin up computing resources for almost any type of workload
on-demand.
 Elasticity: Companies can scale up as computing needs increase and then scale down again as
demands decrease.
 Pay per use: Computing resources are measured at a granular level, allowing users to pay only for the
resources and workloads they use.
Cloud computing services can be private, public or hybrid. Private cloud services are delivered from a
business' data center to internal users. This model offers versatility and convenience while preserving
management, control and security. Internal customers may or may not be billed for services through IT
chargeback.
In the public cloud model, a third-party provider delivers the cloud service over the Internet. Public cloud
services are sold on-demand, typically by the minute or the hour. Customers only pay for the CPU cycles,
storage or bandwidth they consume. Leading public cloud providers include Amazon Web Services (AWS),
Microsoft Azure, IBM/Soft Layer and Google Compute Engine.
9.5.1 Amazon web Service
Amazon Web Services (AWS), is a subsidiary of Amazon.com, which offers a suite of cloud computing
services that make up an on-demand computing platform. These services operate from 12 geographical
regions across the world. The most central and best-known of these services arguably include Amazon Elastic
Compute Cloud, also known as "EC2", and Amazon Simple Storage Service, also known as "S3". AWS now
has more than 70 services that span a wide range including compute, storage, networking, database, analytics,
application services, deployment, management, mobile, developer tools and tools for the Internet of things.
Amazon markets AWS as a service to provide large computing capacity quicker and cheaper than a client
company building an actual physical server farm
48
9.5.2 Amazon E2C
Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in
the cloud. It is designed to make web-scale cloud computing easier for developers.
Amazon EC2’s simple web service interface allows you to obtain and configure capacity with minimal
friction. It provides you with complete control of your computing resources and lets you run on Amazon’s
proven computing environment. Amazon EC2 reduces the time required to obtain and boot new server
instances to minutes, allowing you to quickly scale capacity, both up and down, as your computing
requirements change. Amazon EC2 changes the economics of computing by allowing you to pay only for
capacity that you actually use. Amazon EC2 provides developers the tools to build failure resilient
applications and isolate themselves from common failure scenarios.
9.5.3 Amazon RDMS
Amazon Relational Database Service (Amazon RDS) makes it easy to set up, operate, and scale a relational
database in the cloud. It provides cost-efficient and resizable capacity while managing time-consuming
database administration tasks, freeing you up to focus on your applications and business. Amazon RDS
provides you six familiar database engines to choose from, including Amazon Aurora, Oracle, Microsoft
SQL Server, PostgreSQL, MySQL, and MariaDB.
9.5.4 Amazon S3
Amazon Simple Storage Service is storage for the Internet. It is designed to make web-scale computing easier
for developers.
Amazon S3 has a simple web services interface that you can use to store and retrieve any amount of data, at
any time, from anywhere on the web. It gives any developer access to the same highly scalable, reliable, fast,
inexpensive data storage infrastructure that Amazon uses to run its own global network of web sites. The
service aims to maximize benefits of scale and to pass those benefits on to developers.
This guide explains the core concepts of Amazon S3, such as buckets and objects, and how to work with
these resources using the Amazon S3 application programming interface (API).
9.5.5 Microsoft Azure App Services
Azure App Service is the only cloud service that integrates everything you need to quickly and easily build
web and mobile apps for any platform and any device. Built for developers, App Service is a fully managed
49
platform with powerful capabilities such as built-in DevOps, continuous integration with Visual Studio Team
Services and GitHub, staging, and production support, and automatic patching.
Azure App Service is a single service that includes all of the capabilities from Azure Websites, Azure Mobile
Services, and Azure Biztalk Services. Azure Functions is an example of ongoing additions to App Service
that enable the next generation of applications.
50
Chapter 10: Self-Assessment
10.1 Overview
In this following chapter I try to represent my perspective and ideas about my achievements as an intern.
Here I would assess my capabilities that I have achieved during my internship program. Since an intern
evaluation form has been sent to my respectable supervisor to evaluate my performance through my
internship period at SELISE, I would like to assess myself on basis of those points and skills.
10.1.1 Attitude
As an intern, I always try to maintain the positive attitudes to represent myself along with my institute. I am
accustomed to concentrate on my assigned work. I refine myself from doing anything that may causes any
reputation issues for me and my institute. I always remains friendly not only with my teammates but also
with others peoples. I give such effort to express my dedication for work and try to contribute to the company
through this effort
10.1.2 Ability to learn
During the first month of my internship I have just learned the basic structure of SELISE’s recently launched
framework named ECAP.I try my level best to learn such a new thing along with some new tools and
technologies. From the February 2016 I have been working in a dedicated project namely Jamahook
.Jamahook is developed by a team named ECAP Team worked on ECAP framework. I always ask question
to my team leads and product development manager to gather knowledge for implementing my assigned task
and contribute to the team. I am really thankful to them for assisting me
10.1.3 Dependability
From the very first day at SELEISE, I was assigned a small project named Contact Manager by the CTO,
during my interview. I have done that assignment with my previous knowledge and present it to my team
leads. After that, initially my team lead assigned me on some small demo projects and give me training and
take knowledge sharing session .After one month they assigned me on a real life project to working within a
team along with the permission that I may push my code in SELESI ECAP repository since they found me
dependable and reliable. I try my level best to keep this image during the entire internship period
51
10.1.4 Initiative
As I always interested in new technologies and tools, so I take different initiative to be assigned new
challenging works. In spring planning meeting I tell my team lead and my product development manager
about my interest to assigned me in such works. Thus I get chance to do with different types of task such as
testing with Jmeter, selenium, managing cloud server.
10.1.5 Quality of work
The quality of work depends on both my previous study and what I have learned from this company. As I
have done some of the important course at IIT such as software requirements and specification, design
pattern, software testing, software design and analysis, it helps me doing clean code for meeting the
requirements without any smell. Besides SELISE impose developer to follow Fine Driven Programing (FDP)
where developer have to give fine for avoiding any rule of FDP. It is my personal opinion that this practice
makes my work quality good
10.1.6 Relationship with others
From the last three years I have learned something from my IIT besides my course that are ‘Professionalism’,
‘Excellence’ and ‘Respect’. With accordance with these moto I always respect all my colleagues and consider
me as I am in a family namely SELISE family. So I participate different family program such as team events,
seminars, hangout, trip that make the family bonding strong .I think this help me to maintain this family
relationship in near future.
10.1.7 Maturity-poise
I sustain my confidence on me when I undertake new task to do. My previous knowledge and experience
help to hold confidence .I try my level best to do it. Besides providing proper guidance and direction with
lots of facilities IIT established this confidence in me.
10.1.8 Quantity of work
I performed different types of works including various features implementing for the project Jamahook such
as making angular application, getting external website preview, uploading profile pictures are the
remarkable examples. Besides I conduct load testing on this project using Apache JMeter, Selenium. For
identifying bugs I have learned remote debugging of android and ios smartphone
52
10.1.9 Judgment
As an intern generally I take decision in my work quality such as optimization, pattern and approach.
However my team lead allow me to share my opinion on any development approach which should be done
or should not be done or another better way for implementing the task.
10.1.10 Overall performance
During the last five months at SELISE .I have performed different types work ,such as development ,coding,
testing, negotiation most of the software engineering practices .Besides I take part in different types of
program including seminars ,schooling ,team event ,hangout etc. tried my level best to successfully perform
all my responsibilities for the company. So form my perspective it would be a wonderful performance
53
Conclusion
The internship program made me accustomed to the professional company culture and the technologies they
mostly deal with. It has helped me develop good judgment, proceed on my own in new technological
challenges, and develop better analytical skills. The projects in which I worked inspired me to be harder
working, responsible and confident.
The internship program has been a great helping the sense that it improved my team work capabilities. At
the companies it is important to function as a unit and respect the team mate’s ideas and suggestions. Team
discussions like brain storming sessions helped me identify and solve numerous problem issues which would
have been impossible to solve otherwise.
I would like to convey my thanks to Institute of Information Technology for providing me an opportunity to
gain idea of the competitive environment in the professional field. It has certainly lifted my software
development skills in terms of design and coding. I now look forward to facing the upcoming challenges of
the world.
54
References
About. Selise. [Online] [Cited: 20 /05/ 2016.] http://selise.ch/about/.
home. Selise. [Online] [Cited: 20 /05/ 2016] http://selise.ch/.
About. Selsie. [Online] [Cited: 20 /05/ 2016] http://selise.ch/about/.
Amazon AWS [Online] [Cited: 20 /05/ 2016] https://aws.amazon.com/ec2/
Cloud Computing [Online] [Cited: 20 /05/ 2016] http://aws.amazon.com/what-is-cloud-computing/
AWS [Online] [Cited: 20 /05/ 2016] http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html
AWS S3 [Online] [Cited 20/02/2016] http://docs.aws.amazon.com/AmazonS3/latest/dev/Welcome.html
AWS RDS [Online] [Cited 20/05/2016] https://aws.amazon.com/rds/
Azure App[Online[ Cited 20/05/2016] https://azure.microsoft.com/en-us/documentation/articles/app-
service-value-prop-what-is/
Portal [Azure ][Online ][Cited 20/05/2016] https://portal.azure.com/
MVC [Online ] [Cited 20/05/16] http://samet.kilictas.com/what-is-mvc-architecture-model-viewcontroller.
Home. OData. [Online] [Cited: 20 /05/ 2016] http://www.odata.org/.
Home page. gruntjs. [Online] [Cited: 5 13, 2015.] http://www.gruntjs.com.
Home Angular js [Online] [Cited 20/05/2016] https://angularjs.org/
Home Angular Meterial [Online][Cited 20/05/2016] https://material.angularjs.org/latest/
Jamahook.com [Online][Cited 20/05/2016] https://jamahook.com

More Related Content

PDF
Software Engineering Internship
PDF
Internship Report
PDF
Internship Report
DOCX
Computer Science Internship Report Leena AI
PDF
Internship Report
PDF
Final Report for Summer internship at Software House
PDF
Final Internship Report
PDF
Report final
Software Engineering Internship
Internship Report
Internship Report
Computer Science Internship Report Leena AI
Internship Report
Final Report for Summer internship at Software House
Final Internship Report
Report final

What's hot (20)

PPTX
Presentation Nhelgane
PDF
Internship report
PDF
Internship report
PDF
Computer Science Internship Report PDF Leena AI
DOCX
Declaration by the candidate
PPTX
Analysis of Datasoft Systems Bangladesh Limited | PPT | Presentation
PDF
Nahom final internship report
PDF
Safia haque
PDF
JANE MRIMI - R139875W INDUSTRIAL ATTACHMENT REPORT
PPTX
My internship presentation
PDF
Internship Report
PDF
OJT Report
DOC
Seminar report format
DOCX
Industrial Training Report (Lenovo)
DOCX
Motivation letter
DOCX
A1 UNI - Aagius Combined 2016 NEW Application
PPTX
Final Presentation Of Internship
PDF
Internship Report
PDF
Sudarsh-Nanjappa-Reference-Letter-Ala-WMU
PDF
SUMMER INTERNSHIP REPORT 2016 (MECHANICAL ENGINEERING)
Presentation Nhelgane
Internship report
Internship report
Computer Science Internship Report PDF Leena AI
Declaration by the candidate
Analysis of Datasoft Systems Bangladesh Limited | PPT | Presentation
Nahom final internship report
Safia haque
JANE MRIMI - R139875W INDUSTRIAL ATTACHMENT REPORT
My internship presentation
Internship Report
OJT Report
Seminar report format
Industrial Training Report (Lenovo)
Motivation letter
A1 UNI - Aagius Combined 2016 NEW Application
Final Presentation Of Internship
Internship Report
Sudarsh-Nanjappa-Reference-Letter-Ala-WMU
SUMMER INTERNSHIP REPORT 2016 (MECHANICAL ENGINEERING)
Ad

Similar to Internship at SELISE (20)

PDF
Intern at leads corporation
PDF
Internship Final Report
PDF
internship report covert
PDF
OJT-Report Ahmed
DOCX
HEJ Summer Internship Program 2015 Report
DOC
OJT Report
DOCX
Internship report
PDF
OJT REPORT
PDF
Jad NEHME - Alcatel-Lucent - Report
PDF
Sawari-A Ride Sharing Taxi Service
PPTX
(21-AR-013) Farhan Ullah-Industrial Training -1 Presentation.pptx
DOC
Internship report on MyGP of Grameenphone LTD.
PDF
Profile & Work Experience
DOCX
Yuhang Chen - Internship Report
PPTX
1825010_InternshipFinal_Presentation - Copy.pptx
PDF
OJT report
PDF
ICTA -e -GOV-policy Review Report
PPTX
Internship mid-term defense.presentation
DOCX
AI&DS_GR05_AI-Powered Resume and Interview Analyzer for Job Seekers – Built...
PDF
Internship_Report_Projects_have_done_Dur.pdf
Intern at leads corporation
Internship Final Report
internship report covert
OJT-Report Ahmed
HEJ Summer Internship Program 2015 Report
OJT Report
Internship report
OJT REPORT
Jad NEHME - Alcatel-Lucent - Report
Sawari-A Ride Sharing Taxi Service
(21-AR-013) Farhan Ullah-Industrial Training -1 Presentation.pptx
Internship report on MyGP of Grameenphone LTD.
Profile & Work Experience
Yuhang Chen - Internship Report
1825010_InternshipFinal_Presentation - Copy.pptx
OJT report
ICTA -e -GOV-policy Review Report
Internship mid-term defense.presentation
AI&DS_GR05_AI-Powered Resume and Interview Analyzer for Job Seekers – Built...
Internship_Report_Projects_have_done_Dur.pdf
Ad

Recently uploaded (20)

PDF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PPTX
Week 4 Term 3 Study Techniques revisited.pptx
PPTX
Institutional Correction lecture only . . .
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
Cell Types and Its function , kingdom of life
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
TR - Agricultural Crops Production NC III.pdf
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
Pharma ospi slides which help in ospi learning
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
O5-L3 Freight Transport Ops (International) V1.pdf
Module 4: Burden of Disease Tutorial Slides S2 2025
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Microbial diseases, their pathogenesis and prophylaxis
Week 4 Term 3 Study Techniques revisited.pptx
Institutional Correction lecture only . . .
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Cell Types and Its function , kingdom of life
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
FourierSeries-QuestionsWithAnswers(Part-A).pdf
TR - Agricultural Crops Production NC III.pdf
Anesthesia in Laparoscopic Surgery in India
Pharma ospi slides which help in ospi learning
2.FourierTransform-ShortQuestionswithAnswers.pdf
O7-L3 Supply Chain Operations - ICLT Program
STATICS OF THE RIGID BODIES Hibbelers.pdf

Internship at SELISE

  • 1. MD RAKIB HOSSAIN MISU INSTITUTE OF INFORMATION TECHONOLOGY Report On Internship Internship at SELISE
  • 2. i Report On Internship SE-701 Institute of Information Technology, University of Dhaka Date of Submission 22 May 2016 Prepared by Md. Rakib Hossain (BSSE 0516) Intern at SELISE
  • 3. ii Letter of Transmittal May 22, 2016 The Chairman Intern Placement Office Institute of Information Technology University of Dhaka Dear Sir It’s an outstanding opportunity for me to relate my academic knowledge and experience with recent software industry trend .I am really thankful to Institute of Information Technology, the University of Dhaka for providing me such a great opportunity. It is my enormous delight to delivering you this report based on my observation and experience during my internship time period, starting on January 01, 2016 to June 1, 2016. This report both covers the technical skills that I gained through my internship program and represents my project involvements, professional growth and other improvements and issues .It is believed that the report will exhibit the overall outcomes of my internship course. I am looking forward to your effective feedbacks on my entire report Sincerely yours, Md Rakib Hossain Misu BSSE 0516 7th Semester Bachelor of Science in Software Engineering Institute of Information Technology University of Dhaka
  • 4. iii Letter of Endorsement To Whom It May Concern Subject: Approval of the Report This letter is to certify that, all the information mentioned in this document is true and not confidential to the company. The projects mentioned here have had successful involvement of Md Rakib Hossain, (BSSE05016), Institute of Information Technology, and University of Dhaka. I wish him all the best and hope that he will lead a successful career. Shah Ali Newaj Topu Partner & CTO Secure Link Service Ltd
  • 5. iv Acknowledgement Firstly I am really thankful to Institute of Information technology and its Intern Program Office for arranging the wonderful internship program for me .I am also grateful to SELISE Rocking Software for recruiting me as an intern. I take this chance to express my significant appreciation and profound respects to Shah Ali Newaj Topu, Partner and Chief Technology Officer of Secure Link Services Ltd for his praiseworthy direction, observing and steady consolation during my entire internship. The blessing, help and guidance and time given by him help me to go a long way in the journey of life on which I am about to embark. I also would like to thank Dr. Kazi Muheymin-Us-Sakib the Director and Associate Professor of Institute of Information Technology, University of Dhaka for giving me the opportunity to take part in the internship such a renowned organization. I also make this chance to express a profound sense for gratitude should my less group lead md Jonayet Hossain, Software Engineer of Secure Link Services Ltd for his friendly support, guidance ,that always assist me to I am likewise grateful to all individuals from Secure Link Services BD Ltd for making my adventure smooth and noteworthy. Finally I would thank and tremendous gratitude all the members including Md. Hamim Ur Rahman (Software Engineer ), Shovan Samaddar(Product Deployment Manager ),Miraz Chowdhury,(Senior User Experience Designer )Dilshad Ferdousi(Senior Quality Assurance Engineer ),Nabila Pinaj, (Junior Quality Assurance Engineer)Golam Rahaman Tushar,(Junior Software Engineer) Mhamuda Zaman Nuri (User Experience Designer),Md. Kamruzzaman (Junior Software Engineer), Adib Mosharrof(Junior Software Engineer) for giving me an effective period of experience.
  • 6. v Executive Summery This document deals with the author experiences and contributions towards the SELISE as an intern. It also represents the achievements and challenges during the internship program. The scope of this document is to identify and describe the analysis carried out, projects completed, experience gained and focuses on the achievements as an intern. The Internship Program Office of Institute of Information Technology (IIT) the University of Dhaka offers their bachelor’s student to take an internship during their 7th semester. The goal of offering and taking this internship is to provide students with the opportunity to get practical work experiences and applied software engineering practices in real life projects. It is a golden opportunity for the student to learn new things and getting familiar with the industry during their student life Being a bachelor program student of IIT, I was offered to take an internship at Secure Link Service BD Ltd, a well-known, multinational software company in Bangladesh. I have joined SELISE as an intern .I was cordially welcomed by the SELISE family .However after getting proper training, I started working as a frontend developer along with practicing various software engineering practices .I was treated as an employee and got all the facilities just like other employees .I have explored new technologies and practices, got familiar with industry people and faced new challenges. I feel really fortunate to have support and mentoring from all of my teammates and team leaders. During my last six semesters, I have learned many software engineering practices .However it all about to theoretical knowledge but in the internship I found a practical implementation of that such as scrum, sprint, agile development etc. It really helps me to make the link between my theoretical knowledge’s with the practical implementations Now I am currently working in a team for developing real life projects. The experience of working this project help me both develop my problem-solving skills and practicing the software engineering best practices .This internship program helps me to improve my skills ,confidence and provide me an opportunity to be a professional Software Engineer .
  • 7. 1 Table of Contents CHAPTER ONE: INTRODUCTION ........................................................................................................................................... 6 1.1 PREAMBLE .............................................................................................................................................................................. 6 1.2 ORIGIN OF THE REPORT........................................................................................................................................................... 6 1.3 OBJECTIVES ............................................................................................................................................................................ 7 1.3.1 Board Objectives............................................................................................................................................................ 7 1.3.2 Specific Objectives ......................................................................................................................................................... 7 1.4 SCOPE ..................................................................................................................................................................................... 7 1.5 METHODOLOGY ...................................................................................................................................................................... 7 1.5.1 Primary data .................................................................................................................................................................. 8 1.5.2 Secondary data............................................................................................................................................................... 8 1.6 LIMITATIONS........................................................................................................................................................................... 8 CHAPTER 2: SELISE.................................................................................................................................................................... 9 2.1 OVERVIEW .............................................................................................................................................................................. 9 2.2 GOVERNING BODY................................................................................................................................................................ 10 2.3 VISION AND MISSION ............................................................................................................................................................ 10 2.4 HOW DOES SELISE WORKS................................................................................................................................................. 10 2.4.1 Strategic Partnership/ Sponsorship.............................................................................................................................. 10 2.4.2 Program Management.................................................................................................................................................. 11 2.4.3 Product Ownership ...................................................................................................................................................... 11 2.4.4 Core Development Team.............................................................................................................................................. 11 2.4.5 Quality Assurance ........................................................................................................................................................ 11 2.4.6 User Experience Design............................................................................................................................................... 12 2.5 WHAT SELISE DO................................................................................................................................................................ 12 2.6 SOFTWARE DEVELOPMENT PROCESS .................................................................................................................................... 13 2.6.1 Requirement Identification........................................................................................................................................... 13 2.6.2 Context and Process Capturing.................................................................................................................................... 14 2.6.3 Proof of Concept .......................................................................................................................................................... 14 2.6.4 Up and Running ........................................................................................................................................................... 14 CHAPTER 3: SELESE’S SERVICES AND TECHNOLOGY................................................................................................. 15 3.1 OVERVIEW ............................................................................................................................................................................ 15 3.2 ROCK IN SOFTWARE.............................................................................................................................................................. 15 3.2.1 Digital Business Consulting ......................................................................................................................................... 15 3.2.2 Solution Engineering.................................................................................................................................................... 16 3.2.3 Co-Development........................................................................................................................................................... 16 3.2.4 SELISE Digital Production .......................................................................................................................................... 17 3.3 MAJOR CLIENTS.................................................................................................................................................................... 17 3. 4 DEVELOPMENT SKILLS AND EXPERIENCE ............................................................................................................................ 18
  • 8. 2 3.5 HUMAN RESOURCE ............................................................................................................................................................... 19 3.6 RECRUITMENT PROCESS........................................................................................................................................................ 19 3. 7 TECHNOLOGIES AND FRAMEWORKS..................................................................................................................................... 20 CHAPTER 4: SELISE’S ENVIRONMENT & CULTURE...................................................................................................... 21 4.1 OVERVIEW ............................................................................................................................................................................ 21 4.2 LOCATION AND PHYSICAL LAYOUT ...................................................................................................................................... 21 4.2.1 Dedicated rooms .......................................................................................................................................................... 22 4.2.2 Comfortable Sitting Arrangement ................................................................................................................................ 22 4.2.3 Green Plants................................................................................................................................................................. 22 4.2.4 Dinning and Prayer Room ........................................................................................................................................... 22 4.3 OFFICE SCHEDULE ................................................................................................................................................................ 22 4.4 DRESS CODE ......................................................................................................................................................................... 22 4.5 FINE SYSTEM ........................................................................................................................................................................ 22 4.6 ADMIN AND TECHNICAL SUPPORT ........................................................................................................................................ 23 4.7 ORGANIZED STRUCTURE....................................................................................................................................................... 23 4.8 SPRINT PLANNING................................................................................................................................................................. 23 4.9 DAILY STAND UP.................................................................................................................................................................. 23 4.10 WEEKLY SEMINARS ............................................................................................................................................................ 23 4.11 CO-OPERATION ................................................................................................................................................................... 24 4.12 FRIENDLY ENVIRONMENT................................................................................................................................................... 24 4.13 INSPIRATION ....................................................................................................................................................................... 24 4.14 FACILITIES FOR EMPLOYEES ............................................................................................................................................... 24 4.14.1 DEDICATED WORKPLACE................................................................................................................................................. 24 4.14.2 TUTORIALS....................................................................................................................................................................... 24 4.14.3 High Speed Internet.................................................................................................................................................... 24 4.14.4 Domestic Environment ............................................................................................................................................... 25 4.14.5 Schooling Program..................................................................................................................................................... 25 4.14.6 Training...................................................................................................................................................................... 25 4.14.7 All Day Free Food...................................................................................................................................................... 25 4.14.8 Team Fund.................................................................................................................................................................. 25 4.14.9 Games......................................................................................................................................................................... 25 4.14.10 Reference Points....................................................................................................................................................... 25 4.14.11 Recreation ................................................................................................................................................................ 25 4.15 CULTURE ............................................................................................................................................................................ 26 4.15.1 People......................................................................................................................................................................... 26 4.15.2 Corporate Culture...................................................................................................................................................... 26 4.15.3 Fun and Passion......................................................................................................................................................... 26 4.15.4 Sports.......................................................................................................................................................................... 26 4.15.5 Working Environment................................................................................................................................................. 26 4.15.6 Good Bye Gifts ........................................................................................................................................................... 27 4.15.6 Annual Trip ................................................................................................................................................................ 27
  • 9. 3 4.15.7 Weeding Party............................................................................................................................................................ 27 CHAPTER 5: INTERNSHIP AT SELISE ................................................................................................................................. 28 5.1 OVERVIEW ............................................................................................................................................................................ 28 5.2 IIT AND SELISE ................................................................................................................................................................... 28 5.3 FACILITIES FOR INTERNS....................................................................................................................................................... 28 5.4 SCHOOLING PROGRAMS AND TRAINING................................................................................................................................ 29 5.5 ASSIGNMENT OF WORK ........................................................................................................................................................ 30 5.6 EVALUATION OF INTERNS ..................................................................................................................................................... 30 5.7 CONCLUSION......................................................................................................................................................................... 30 CHAPTER 6: TRAINING & SCHOOLING ............................................................................................................................. 31 6.1 OVERVIEW ............................................................................................................................................................................ 31 6.2 ASSIGNMENT CONTACT MANAGER APPLICATION................................................................................................................. 31 6.3 PROJECT FUNNY FACEBOOK APPLICATION ........................................................................................................................... 31 6.4 TUTORIALS AND OTHER RESOURCES ..................................................................................................................................... 32 6.5 COMMUNICATION AND COLLABORATION ............................................................................................................................. 32 6.6 WORKING ENVIRONMENT..................................................................................................................................................... 32 CHAPTER 7: MY PROJECT INVOLVEMENTS AND CONTRIBUTION.......................................................................... 33 7.1 OVERVIEW ............................................................................................................................................................................ 33 7.2 ENTERTAINING FACEBOOK APPLICATIONS ........................................................................................................................... 33 7.2.1 Requirements................................................................................................................................................................ 33 7.2.2 Team Members:............................................................................................................................................................ 34 7.2.3 Tools and Technologies................................................................................................................................................ 34 7.2.4 Working Periods........................................................................................................................................................... 34 7.2.5 Challenges.................................................................................................................................................................... 34 7.2.6 My Learning ................................................................................................................................................................. 34 7.3 ECAP ................................................................................................................................................................................... 35 7.3.1 Requirements................................................................................................................................................................ 35 7.2.2 Team Members:............................................................................................................................................................ 35 7.3.3 Tools and technologies................................................................................................................................................. 36 7.3.3 Working Periods........................................................................................................................................................... 36 7.2.5 Challenges.................................................................................................................................................................... 36 7.2.6 My Learning ................................................................................................................................................................. 36 7.3 JAMAHOOK............................................................................................................................................................................ 36 7.3.1Tools and technologies.................................................................................................................................................. 37 7.3.2 My Contribution ........................................................................................................................................................... 37 7.3.3 Challenges.................................................................................................................................................................... 38 CHAPTER 8: PROFESSIONAL GROWTH............................................................................................................................. 39 8.1 DEVELOPMENT TECHNIQUE .................................................................................................................................................. 39
  • 10. 4 8.2 PAIR PROGRAMMING............................................................................................................................................................. 39 8.3 RESPECT FOR EACH OTHER................................................................................................................................................... 39 8.4 NO BULLYING AND BLAMING ................................................................................................................................................ 40 8.5 DEDICATION FOR WORK ....................................................................................................................................................... 40 8.6 ATTITUDE ............................................................................................................................................................................. 40 8.7 NEGOTIATION ....................................................................................................................................................................... 40 8.8 PLANNING............................................................................................................................................................................. 41 8.9 ATTENDANCE AND PUNCTUALITY......................................................................................................................................... 41 CHAPTER 9: TECHNOLOGICAL GROWTH........................................................................................................................ 42 9.1 OVERVIEW ............................................................................................................................................................................ 42 9.2 TOOLS AND IDE.................................................................................................................................................................... 42 9.2.1VISUAL STUDIO 2015.......................................................................................................................................................... 42 9.2.2Visual studio code ......................................................................................................................................................... 42 9.2.3Chrom DevTools ........................................................................................................................................................... 43 9.2.4 SQL Server 2014 .......................................................................................................................................................... 43 9.3 FRAMEWORKS AND LANGUAGES .......................................................................................................................................... 43 9.3.2 MVC ............................................................................................................................................................................. 43 9.3.2ASP.NET Web API ........................................................................................................................................................ 43 9.3.3 Entity Framework......................................................................................................................................................... 44 9.3.4 Odata............................................................................................................................................................................ 44 9.3.5 JavaScript..................................................................................................................................................................... 44 9.3.6 Angular Js .................................................................................................................................................................... 45 9.3.7 Angular Material.......................................................................................................................................................... 45 9.3.8 ECAP............................................................................................................................................................................ 45 9.4 SOURCE CONTROL AND OTHERS TOOLS ............................................................................................................................... 46 9.4.1 Jira ............................................................................................................................................................................... 46 9.4.2 SourceTree ................................................................................................................................................................... 46 9.4.3 Fiddler.......................................................................................................................................................................... 46 9.4.4 Node js.......................................................................................................................................................................... 46 9.4.5 Grunt ............................................................................................................................................................................ 46 9.5 CLOUD COMPUTING .............................................................................................................................................................. 47 9.5.1 Amazon web Service..................................................................................................................................................... 47 9.5.2 Amazon E2C................................................................................................................................................................. 48 9.5.3 Amazon RDMS ............................................................................................................................................................. 48 9.5.4 Amazon S3.................................................................................................................................................................... 48 9.5.5 Microsoft Azure App Services ...................................................................................................................................... 48 CHAPTER 10: SELF-ASSESSMENT........................................................................................................................................ 50 10.1 OVERVIEW .......................................................................................................................................................................... 50 10.1.1 Attitude ....................................................................................................................................................................... 50 10.1.2 Ability to learn............................................................................................................................................................ 50
  • 11. 5 10.1.3 Dependability ............................................................................................................................................................. 50 10.1.4 Initiative ..................................................................................................................................................................... 51 10.1.5 Quality of work........................................................................................................................................................... 51 10.1.6 Relationship with others............................................................................................................................................. 51 10.1.7 Maturity-poise ............................................................................................................................................................ 51 10.1.8 Quantity of work......................................................................................................................................................... 51 10.1.9 Judgment .................................................................................................................................................................... 52 10.1.10 Overall performance ................................................................................................................................................ 52 CONCLUSION ............................................................................................................................................................................. 53 REFERENCES ............................................................................................................................................................................. 54
  • 12. 6 Chapter One: Introduction 1.1 Preamble An internship provides an opportunity for students to work at an organization for a certain, minimal period of time to exercise their knowledge and get familiar with industry practices and cultures. It delivers students a period of practical knowledge and experience in the industry based on their field of study. It plays a significant role to build up a communication bridge between academia and industry since industry discovers the capability of potential students. Experience and knowledge acquired through this internship program are beneficial to the student since it helps students encounter how their studies are applied and implemented in the real life project and work. As it provides real-life work experiences, it helps a candidate to enrich one's CV. A wonderful internship opportunity is offered by Institute of Information Technology (IIT) to their students for having an internship during bachelor program IIT always give emphasis on both academic study and industry practices to keep up-to-date and cope up with new technologies. A variety of technically specialized courses is conducted by industry professionals to accomplish its objective. Occasionally industry people are also invited to host seminars and workshop to talk about their culture and practices with students. Another effective and practical approach is the six-month internship program offered at 7th semester of bachelor program. Being a student of IIT, after completing my 6th semester successfully I was offered to take the internship program at Secure Link Services BD Ltd (SELISE) It is a multinational company and one of the leading software companies in Bangladesh. The internship program helps to apply my knowledge in real life projects. I tried my level best to gain knowledge of the industrial culture and practices so that I may apply this gained knowledge and experience in my upcoming academic courses and career. 1.2 Origin of the Report To submit a report on internship program experience is a part of IIT bachelor program evaluation. To represent the overview of SELISE environment as well as my professional growth and project involvements as an intern, the report is designed .It represents the opportunity of perspective learning for the student at the professional environment. It helps to provide forthcoming batches with an entire experience and feedback to who would like to take an internship at SELISE. Especially it would assist them to develop their selves according to SELISE’s culture and practices.
  • 13. 7 1.3 Objectives 1.3.1 Board Objectives The main objective is to represent my significant practical and cultural experiences achieved through the internship program at SELISE 1.3.2 Specific Objectives  To point out the industrial and organizational practices I have experienced  To illustrate the real life projects that I have worked on  To represents the working environment of SELISE  To highlight the core technologies and the software development process adopted by SELISE  To present the services (type of projects) provided by SELISE to different other organizations and its client  To describe the facilities and services provided by SELISE to their employee and intern 1.4 Scope This report deals with my experiences and knowledge’s that I have earned through the internship program. The company profile of SELISE and its culture are also briefly discussed here. How a team works and the process of working as a team along with my role, experiences within a team are also summarized in this report. How I have adapted myself with the company culture and technologies is also mentioned. Especially through this report I try to reflect on my project involvements and my experience of working in a real life projects. The report concludes by elaborating my technical and professional growth after experiencing the internship program. 1.5 Methodology The overall report is prepared by analyzing my experience at SELISE as intern and collecting information from websites and documents provided by personnel of the company. Following are the resources of data collection:
  • 14. 8 1.5.1 Primary data  Practical experience from real life project  Collaboration with colleagues and team mates  Seminars  In house activities 1.5.2 Secondary data  SELISE official website  Official document  Internet 1.6 Limitations As internal information of the company is highly confidential, so minimal information is provided by the office. Since I have worked on specific technologies and single real life project, so it is difficult to give an appropriate overview of other projects development process. Provided information about others project is based on my experience and sharing knowledge with my colleagues. It is important to note that report size is not enough to get a comprehensive and clear picture of the company profile.
  • 15. 9 Chapter 2: SELISE 2.1 Overview SELISE is a developer of scalable software. It serves clients with innovative and automated solutions. That is SELISE develops products for clients, with clients and sometimes against clients. SELISE is a Swiss software development company that provides high quality industrybased software. It was founded in 2011. They mainly outsource from Dhaka, Bangladesh- a promising area for the IT industry. It is a small company with target pure development projects in .NET or Java. By continuously focusing on the epicenters inside the tech community, SELISE draws on the latest technologies and attack the most challenging projects with determined ATeams. With their High-End Development Center in Dhaka they provide solutions of any scale concerning.  Shared License Software Product Development  Software Architecture and Technology Consulting  Business Process Outsourcing SELISE provides state-of-the-art software solutions to a wide range of clients, with a creative force distributed over Dhaka, Zürich, Thimphu and Dubai. It’s clients are in consulting, egovernment, banking and financing. Their customers are end consumers of SELISE and that's whom it focuses on in all their work. It has an international family of about 70 members also referred as ‘Rockstars’. It has groups of developers, designers, product owners, engineers, quality assurance engineers and business specialists. SELISE offers software, content management systems, fun game apps to wide range of international clients. It focuses on challenging requirements of clients and serves them with scalable, optimized and practical solutions. That is any software that requires high load, complex algorithms, big data and high security, be it developed from scratch or a legacy application that needs to be rebuilt are developed by SELISE.
  • 16. 10 2.2 Governing Body 2.3 Vision and Mission SELISE strives to become a global brand for high-class software product engineering. SELISE’s mission is to provide customers with services which are strongly based on intellectual capacity. 2.4 How Does SELISE Works The following illustration demonstrates a complete organizational setup for SELISE A-Team software development. The underlying structure allows for a maximum output. It can only be adopted with highly talented developers and experienced senior engineers. 2.4.1 Strategic Partnership/ Sponsorship The partnership is in needed for a “Strategic Partner” sponsor at the customers as well as a “Strategic Partner” at SELISE. The responsibility of these “Strategic Partner” is to provide the “Product Manger” with an adequate environment to execute the desired development process.
  • 17. 11 2.4.2 Program Management The on-going development activities are run by the “Program Manager” at SELISE. This person is the main contact on a technical level and shall be involved in all technical communication. The Program Manager is responsible for the delivery and the establishment of Quality Assurance and User Experience Design according to the Product Owner’s requirement. 2.4.3 Product Ownership Customer defines a “Product Owner” who will continuously collect requirements from all the stakeholders and pass the information in an organized way. Depending on the project size, SELISE appoints a “Proxy Product Owner” who will support the Product Owner in his information gathering process, maintain the communication iterations and compare requirements with the developed software. 2.4.4 Core Development Team A fully functioning development team is in need of a “Senior Software Engineer (SSE)” with 6 to 8 years of experience who covers the role of a “Project Manager”. This senior is supported by two “Software Engineers (SE)” and one “Junior Software Engineer (JSE)”. In small projects, a team can start with one SSE and one SE or JSE and then grow to a basic team of four developers. In specific cases, the team may vary. 2.4.5 Quality Assurance “Quality Controllers” are selected by the Project Manager from the independent Quality Assurance team in SELISE. They continuously assure the quality of the created software. A main part of their work consists of setting up automated tests for the software which is undergoing the current building process. Regular code and design reviews are initiated, governed and reported by the head of the Quality Assurance team according to the requested standards.
  • 18. 12 2.4.6 User Experience Design “User Experience Design” translates requirements into visual user interfaces which optimize interaction between users and the software created. SELISE UXDs work according to the latest standards unless demanded otherwise. The amounts of services these engineers deliver strongly depend on the scope and purpose of the underlying software as well as the Product Owner’s stack of requirements. (SELISE website, 2012) 2.5 What SELISE Do SELISE manage software projects in what they consult, architect, develop, design and test. Any software development process needs complete integration of customer requirements, development, user interface design and validation. Projects are done with the critical participation of a senior SELISE system architect at the staring phase of planning. A detailed wireframe of the software system is delivered to clients for integration of user requirements and system architecture. After this phase development starts and regular testing continues with development process. Regular client meetings and live demo are performed as part of project management for being up-to-date with clients and management. Following Figure 1 represents their actual integration process of development and requirements.
  • 19. 13 Figure 1: Software Project Integration of SELISE 2.6 Software Development Process Software development process is a division of software development work into distinct phases containing activities with the intent of better planning and management. It is often considered a subset of the systems development life cycle. The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application. SELISE also follow this development process while implementing their projects. They follow agile methodology to support proper integration of project requirements. The following steps describe the development process adopted by SELISE. 2.6.1 Requirement Identification They identify the challenge first that their business is facing. They start working as soon as the initial scope is defined. This allows evaluating mutual velocity with clients. If they already are in a large project, start
  • 20. 14 with a 3-5 days intensive consultancy that results in a detailed report and a management summary on viable solutions. 2.6.2 Context and Process Capturing Each project is assigned a product manager in order to capture current business context. Which market suits the business contexts, who are the competitors, what software they use or offer, what is their core competence and what core processes drive it- all this inquiries are responsibility of product manager. Once this information are collected, product manager and one of senior architects then work out an appropriate technology stack, architecture and define the business goals of the upcoming product. 2.6.3 Proof of Concept Seniors are provided with dedicated off-site team and the first prototype applications. The full team work towards to find out potential solution process through research and development to meet the needs of stakeholders. 2.6.4 Up and Running Once product development starts, a fluent agile software development process continues with continuous integration and periodic releases to production. The complete development process is conceptualized, documented, tested and delivered using latest technologies. Thus they reduce vendor dependency and enable the product to be taken over at any state.
  • 21. 15 Chapter 3: SELESE’s Services and Technology 3.1 Overview In the 21st century all companies and organizations are attempting to introduce automated systems to reduce cost, overhead and ensure security issues. Information technology performs important role in serving these facilities. Software companies serve these requirements of stakeholders and drive revenue. SELISE offers client with a variety of services to meet the new challenges and invent new solutions to them. Automation and data security of brands, E-government solutions for entities, resolving multi-vendor integration issues, gaming innovation for hyped action games are brought by SELISE. Besides developing quality assurance of this products are also ensured by the company. While working through such projects SELISE has gained huge resource of experts and experience of ideal project management and development. 3.2 Rock in Software Business + Technology = Rockin’ software They think business, they’re addicted to technology. Awesomeness results from blending the two. Of course they love to code. But don’t let their love for coding misguide you about our passion for business. They help multinationals and startups define their go-to-market strategy, create new business units and transform their legacy. Our tech-savvy business consultants work onsite and offsite in order to ensure maximum impact. 3.2.1 Digital Business Consulting Digital business consulting from SELISE starts with a blueprint of your existing business model and ends with a concrete action plan on how to improve your company’s competitiveness in dynamic markets. They are not a typical technology implementation partner nor purely consultants, since they believe technology investment should immediately drive business success. They firstly look at your strategy and break down your entire business into segregated domains with clearly defined throughputs. Each of these domains will then be linked back to the business’ strategic goals in order to determine where your organization could use improvements. Finally, they then help you drive real innovation with measurable business goals such as sales, user numbers or average cost of certain actions. In a nutshell: They are here to bring a true digital
  • 22. 16 culture into your organization and carve out immediate success. What do they mean when they say digital? It is not simply about having a website or a cloud application. Today, being digital is more about having of a mindset or a pattern of thought. It is all about being agile and adaptive. Our expert business consultants hold valuable industry experience and are backed by individuals from our tech team. This allows us to move from an idea to a prototype in no time. 3.2.2 Solution Engineering With a combination of rigorous Swiss quality management, exceptional international talent and an efficient cost structure, SELISE is truly rocking’ it. Our offshore engineers are digital natives who understand what they do and why they do it. Our teams perform professionally on a global scale and deliver successful solutions with world class engineering teams, product managers and business consultants. All of which follow state-of-the-art delivery and maintenance methods. Solutions With the emergent growth of client’s needs, Secure Link Services Ltd provides effective solutions to challenging business problems. Following are the solutions offered by them:  Large scale enterprise solutions  Automated Generalized System of Preference (GSP)  Mobile payment  Mobile game innovation  Public transportation  Government consultancy  European mobile banking security  Investor community portal  Algorithm development  Automated start-up and investment solution  Data security 3.2.3 Co-Development SELISE is driven by innovation. , as a partner, only provide them with market knowledge – leave the technology and digital aspects to them. Ideas and our technical expertise can prove to be a priceless asset in jump-starting business. And, if they feel that our business models and values go hand in hand, they are ready to partner up with you in a joint business, business venture or shared revenue model.
  • 23. 17 3.2.4 SELISE Digital Production Businesses today often find themselves in need of websites, online ads or small portals that follow current best practices in web, media and social media in order to promote their content. Their sister concern, SELISE Digital Production, is an excellent offshore partner for providing high quality and low cost solutions for those needs. SDP is also offers social media management, quality translation services and general outsourcing of IT processes. 3.3 Major Clients SELISE is expert in developing software that requires to be developed from scratch or needs to be rebuilt (2). Because of their impressive way of developing quality product, SwissLife, ruf, investiere, index capital group and blue code have become their major clients. With the cooperation of highly qualified work force distributed over Dhaka, Zurich Thimphu and Dubai SELISE is working for the clients who are in consulting, e-government, banking and finance. Customers of the clients are the end customers for whom SELISE focus on in all their work.
  • 24. 18 Figure 2 Major Clients of SELISE 3. 4 Development Skills and Experience SELISE has wide experience both in development platforms and business domains. It does not specialize in particular technologies, but it has definitely proficient and experienced with a wide array of tools and systems. Every product is unique and it tries to fit the right team with the right skills for that particular product. SELISE has gained expertise in different types of field. Following are some of them:  National archive foe government  Garments procurement app  Content management system  Parking management app for a start-up  Referral app for a large financial company  Advertisement campaign manager for a large financial company  File system drive for government  E-commerce  Banking
  • 25. 19  Financing  Consultancy  Performance measurement application  Payment systems 3.5 Human Resource SELISE has a family of about 70 Rockstars. They are planning to recruit more. Since the beginning, SELISE has grown in number of resources and production every year. SELISE always look forward to hire the best. They have their unique hiring process including Super Talent Program and also emphasize on training and schooling facilities to keep their employees up-to-date with new technologies. 3.6 Recruitment Process For recruiting experienced professionals, this goes like an initial phone interview and upon getting a green signal here, a face to face interview. After this interview, they decide whether they can hire the candidate or not. SELISE believes in what a person actually is, not just facts on paper. So candidates need to bring examples of work they’ve done, cool stuff that they are passionate about, and things they want to do. Interviews range from pointed questions about work examples to casual conversations about life. For fresher, SELISE has Super Talent Program. This is an accelerated program to take Rockstars to the next level with duration of 3 years with clear indications of the salary package, career growth, increment etc.
  • 26. 20 3. 7 Technologies and Frameworks SELISE is not specialized or stuck within specific technologies. With passage of time they gain expertise in different technologies and frameworks and arrange seminars or schooling programs to share the knowledge with other SELISIAN. Following are some of their used tools: .NET & Microsort World: ADO.Net Entity Framework, ASP.NET MVC, Microsoft Enterprise Library, Share Point, Spring JAVA world: Spring, Hibernate, JSP Servers etc: Tomacat, Nginx, IIS Database and NOSQL: MS SQL Server, MySQL, Mongo DB, Oracle Javascript Universe: jQuery, jQury UI, Node.js, AngularJS, Knockout.js World of Web: HTML, CSS, DHTML, XML, XHTML, XSLT Mobile Space: Objective C, jQuery Mobile, Android, HTML5, Framework and Concepts: Pear framework, Event sourcing pattern
  • 27. 21 Chapter 4: SELISE’s Environment & Culture 4.1 Overview Man power is one of the most important resources of any organization. Performance and success of an organization depends on the employee of the company. Therefore providing a healthy and friendly environment in addition with professional setup is very important. SELISE believes that in the journey employee should stay fit both physically and mentally while absolutely loving what they do. Hence, SELISE provides all the facilities that are needed for refreshment of the employees while doing their creative jobs. 4.2 Location and Physical Layout SELISE is a multinational company which has its office distributed in Zurich, Dhaka, Dubai and Thimphu. Following is the address of SELISE Dhaka office - Midas Centre, H-05 R-16(New) Dhanmondi Dhaka-1209 Bangladesh Figure 3 Dhaka (left) and SELISE HQ (right) Office of SELISE
  • 28. 22 4.2.1 Dedicated rooms SELISE has hired full floor of Midas center to support its employees sitting arrangements. Each team is assigned with their dedicated rooms. Product owner, team lead, developers, UX designers and quality assurance engineers of a dedicated team sit in their own room. It ensures proper collaboration and co- operation of team members. And if any team member is stuck in any stage of development process, it is expected that he/she would shout to seek help from his/her team members. 4.2.2 Comfortable Sitting Arrangement As developers work for hours sitting on the same chair looking at their desktop, SELISE provides comfortable chairs which are adjustable to their height and arms. 4.2.3 Green Plants Plants do more than just enhance the beauty of your surroundings, many actually clean pollutants out of the air as they add oxygen and humidity to the indoor environment. Each room has various types of plants located in the corner of the rooms. 4.2.4 Dinning and Prayer Room Dining room is located at the old office of SELISE beside Midas and buffet lunch is served to the employees with variations. Prayer room is also available in office premise. 4.3 Office Schedule SELISE offers flexible time schedule for employees. Sunday to Thursday is official working days. Though employee are expected to work 9 hours per day, a full day time is considered if anyone enters the office before 12 pm and leaves the office after 4 pm by the measuring the time of employee punch card. Employee are not supposed to work in pressure, they can take breaks during their work. 4.4 Dress Code There is no specific dress code in SELISE. Most of the employee comes with formal dress up. But no one is allowed to reach office with unusual dress up. Dress that contains logo of other software firms or competitors is not allowed in office space. 4.5 Fine System SELISE has strict fine system in case of breaking official rules. These fine are collected and used for small parties or events for recreation of employees. There a ‘lost and found’ box for keeping lost property of
  • 29. 23 employees. If anyone can give proof of the ownership of the property, then he/she need to pay fine to regain the property. Employees are also fined in case of being late in CTO meeting, scrum meeting etc. 4.6 Admin and Technical Support There is dedicated admin and technical support group. The admin group takes in account the management of weekly seminars, food management, annual trips, official complaints and many other activities. The tech support group is always there for solving hardware and network related issues and support required environment at the time of live demo. 4.7 Organized Structure SELISE practices an organized company structure. All the official works are done through a predefined official process. In case of leave management, the employee needs to fill up a leave application and require the signature of the team lead for approving it. Each employee has 15 holidays in a year other than the government holidays. So employee can use these holidays as per their needs. 4.8 Sprint Planning As mentioned above each team is closely managed by one product owner. As SELISE follows agile software development process, development phases are divided into sprints. Normally sprints contain two weeks that is 10 working days. At the starting of each sprint, development requirements are identified and development process is planned in presence of all team members. After that product owner and team lead divide the sprint into small stories and breaks the small stories into tasks. Each task is assigned to individual team members and it is the duty of the team members to fulfill the task within given time schedule. 4.9 Daily Stand Up At the starting of each working day daily stand up is hosted by product owner and all the team members are invited. If any team member is late at the meeting, he is fined with 50 taka. The standup plays important role in development, as all team members clear their dependency of work with others. Each team member also needs to specify what he has done yesterday, what he will do today and if he needs any co-operation of other team members. As a result the whole team remains up-to-date about the current status of their project and share their knowledge themselves. 4.10 Weekly Seminars Every Monday seminar is arranged by office. One of the employees gives presentation on in the seminar. Everyone is bound to take a seminar throughout a yearly schedule and also gets a huge reward for the best seminar. It is mandatory for all the developers to attend the seminar. All other employee rate the presentation of the speaker and this evaluation plays role in the evaluation process of both the evaluator and presenter. It
  • 30. 24 is also a process of knowledge sharing. Birthdays are also celebrated on Mondays and delicious food is served at the seminar. 4.11 Co-operation All the employees of SELISE are co-operative and helpful. It is not necessary only team members help each other. If any employee is stuck at any stage, he/she can ask for help of any senior or expert of other team too. As large projects are developed parallel, all the team members help each other to present a successful demo at the end of the sprint. Valuable ideas and solutions are always offered by chief technology officer (CTO). 4.12 Friendly Environment I have almost spent 5 months as an intern in SELISE. All the members did no differentiate us with other employees. All the members are very friendly. They help us to adapt with the new changes and challenges. And this friendly environment helps us to refresh our minds while working for hours. 4.13 Inspiration The environment of SELISE is really inspiring. Especially my team lead inspired me after each completion of every small task. This inspiration helps to become more focused to my work. Upper management also inspires the full team after successful client demos. Sometimes chief technical officer gives treat to the whole team and takes them to team event. 4.14 Facilities for Employees High productivity of employee plays vital role in the economic development of an organization. Salary is only the hygiene factor of job satisfaction. Motivating factors influence the employee’s dedication towards his work. SELISE provides various facilities to their employees – 4.14.1 Dedicated Workplace Each employee is provided highly configured PC for development purpose and other staffs like notebooks, pen, first aid kits etc for their usage. 4.14.2 Tutorials Licensed video tutorial are supplied by office for learning purposes and various development tips and videos are also published in the official website. 4.14.3 High Speed Internet 24 hour high speed internet facility is provided and all internal and external communication with clients and members are done through Skype.
  • 31. 25 4.14.4 Domestic Environment SELISE is like a family of rock stars. They help each other not only in professional life but also in their personal life. Working here is fun and working for the company is individual’s responsibility. 4.14.5 Schooling Program SELISE School is a program where different workshops are orchestrated on trending topics. At the end of these workshops, examinations are held covering the topics and marks are updated in a spreadsheet for employees to observe their performance level and progress. 4.14.6 Training SELISE believe in training and its importance to both employee success and the success of company business. SELISE have a harsh process of continuous learning and coaching. On this purpose, SELISE holds regular workshops and training sessions around the year. SELISE have weekly seminars to keep the SELISIANS updated about the recent trends and technology. 4.14.7 All Day Free Food All day free food is available here. Buffet lunch is served. There is also daily surprise food and dinner arrangement for employees who work for late night. There is a ‘Hunger Hunt’ box where food is available in case of sudden hunger. Coffee and tea are served all the day. 4.14.8 Team Fund After joining the company each employee has his own team fund and taka 500 is given in his fund at the end of every month. Employees use the money at the time of team event. 4.14.9 Games The compound out of SELISE old office is dedicated for playing outdoor games like cricket, badminton etc. In the middle of their work employees take part in table tennis, carom etc. Annual game tournaments are arranged and winners are rewarded with attractive gifts. 4.14.10 Reference Points If any new employee is hired by the company who is referred by any existing employee, the referrer gets bonus point. After earning a certain amount of bonus point employee gets rewards ranging from dinner package to Bangkok Trip. 4.14.11 Recreation SELISE has different ways for recreation of employee. Release parties, picnics, outings are part of it. Employees are taken out of the country for annual trip every year. In spite of being an intern, I received all these facilities and consider myself lucky.
  • 32. 26 Birthdays of the employees are celebrated with birthday cakes. Teammates give surprise gift to the employee to make him feel special. After successful completion of sprints, teammates enjoy parties using team funds. Annual dinner party is also arranged by Office where employee attend with their family members. 4.15 Culture SELISE has a great working environment with a rich culture of fun and professionalism that attracts the best talent. Cultures that I have found in SELISE Software are discussed below: 4.15.1 People SELISE believes in what a person actually is, not just on papers. It runs regular training and review sessions to keep employee on the top. And its culture of constructive criticism, learning and sharing expands our horizons and keeps employee level headed. 4.15.2 Corporate Culture In 2015 SELISE was mentioned in an extensive story in Bhutan’s national newspaper Kuensel. The article shades light on SELISE’s successful expansion to the exclusive Himalayan resource hub. After a pilot phase in 2014 today SELISE maintains a small Rapid Application Development Team in Thimphu, the capital city of Bhutan. 4.15.3 Fun and Passion All the employees are always connected with each other and share a special bond among them. Sometimes its about doing research and development, sometimes having errors in code, sometimes discovering new solutions to problems, sometimes planning for events or sometimes its just selfie time. 4.15.4 Sports Sports are a part of SELISIAN culture. All the time there is a crowd seen around the playground. Everyone competes to get the play board. Yearly playing tournaments are arranged and rewards are given to the winners. 4.15.5 Working Environment SELISE has a great working environment at the office space, totally custom designed for a software development company. From color selection to furniture orientation it has been very careful to create an environment that actively enhances the knowledge exchange and collaborative nature of work. All teams are working dedicatedly in their own rooms. All the rooms are kept sound proof to maintain privacy and ensure corporate environment in the room.
  • 33. 27 4.15.6 Good Bye Gifts All the members take part to buy gifts and surprise cards to wish any employee leaving the company. Sometimes they throw parties to say good bye. 4.15.6 Annual Trip SELISIANS are always on the move – let it be the annual company trips and individual business trips throughout the world or fun trips to cool places in Bangladesh. Switzerland, Austria, Germany, UAE, Malaysia, India, Bhutan – everywhere new experiences are enriching and refreshing SELISE minds. 4.15.7 Weeding Party SELISE family always attends marriage ceremony of their employees. Either the employee invites all his colleagues to the marriage ceremony or arranges a feast at office premise for all SELISIANS. A grand gift is arranged for the married couple by participation of all SELISIANS.
  • 34. 28 Chapter 5: Internship at SELISE 5.1 Overview The internship is a process of job training where student get benefited by gathering practical knowledge, especially for technological students. It works like a bridge between the software industry and the students .It is a way for both the company and the student to promote each other where student represents their talent and capabilities and industry represents their culture, working environment and technology. In 2016, I start my internship at SELISE .I think myself fortunate to become an intern of SELISE This internship experience helps me not only to practice my theoretical knowledge and sharing my ideas but also make me conscious of different perspective of software industries of Bangladesh along with that is very essential for me and my future career 5.2 IIT and SELISE It is a culture of IIT to arrange seminaries in its institute premise by an industry expert to promote their ideas and working experiences. In the end of 2013, SELISE has arranged seminars to promote their ideas and technology before recent freshers of IIT. The CTO of SELISE Shah Ali Newaj Topu delivered an excellent presentation that motivates IITian about SELEISE. The formal BSSE program chairman of IIT Dr. Kazi Muheymin-Us-Sakib gave a proposal to SELISE CTO for taking intern at SELESE for completing student’s 7th semester with real work experiences. According to this proposal SELISE allows IIT to send intern from 2015.In the first of 2016, we were asked for an interview with chief technology officer of SELISE. He had a formal discussion with us about our field of interests, preferred technologies and what we expect from SELISE. We joined SELISE on 1st January 2015. We were welcomed warmly and they provide us with all the facilities without any complaint. 5.3 Facilities for Interns From the first day, SELISE family welcomed us just like any new employee. We were introduced to the other members of SELISE family by the human resource manager of SELISE. We are treated as any other
  • 35. 29 employee of SELESE .It never makes us feel that we are the intern here rather than an employee .From the beginning, we are taken care by our CTO and our supervisor .They spent their valuable to make us comfortable and adaptable to the new environment and technologies. There are lots of facilities SELIES provides to its intern where following are some of the facilities  Dedicated workspace like any other employee  Individual PC and other facilities  Healthy amount of remuneration  Small sessions on new topic from CTO  Smart coding tips from CTO  Opportunity to get familiar with new tools  Opportunity to work in real life project  Become a member of real life project team  Flexible working time  Leave for academic activities  Flexible working environment 5.4 Schooling Programs and Training In early days, we are trained under our supervisor .He gave us theoretical knowledge and concepts about new technologies and work. He teach us what is the best practice of that particular technology, how to attack a problem to implementing requirements using this technology .After some days later we are admitted to SELISE SCHOOL. It is an institute within an organization that is completely autonomous. In the school, we have to attend class after finishing our office hours. We are provided delicious snacks during the classes .At the end of the every class, some assignments are given to us to do it at home and submit it to the next class. It is mandatory for all of us. If we are unable to submit our assignments then I am fined by the course instructor. Here are some of the courses completed by SELISE so far:  Agile Software Development  Object Oriented Programming  Design Pattern Returns- Rise of refactoring  Test Driven Development
  • 36. 30  SharePoint training  Close Encounters with AngularJS  35mm (A series of video sessions) 5.5 Assignment of Work In most of the cases, the company treated intern as immature resources. Besides, they are not assigned to real work .However, SELISE not only gave us the opportunity to work in real life projects but also allow us to share our personal opinions and approach to finding out the solution of a problem. If our approach is considered to appropriate to them, it is cordially accepted and they implement it into their project. This also gives us inspirations and motivations to keep that practice. 5.6 Evaluation of Interns Every learning program should be ended up with the evaluation process. For completing the evaluation process of our internship a form containing questions regarding our technical, professional skills, growth, and quality of work, punctuality, and analytical ability is sent to SELISE from Intern Placement Office of IIT. My team lead, company CTO and the product development manager of the project I have worked on it, perform the evaluation process. The feedback of this evaluation is really essential for me as it reflects my SWOT analysis that helps me to improve myself and overcome my weakness for my future career. 5.7 Conclusion I have just passed almost five months of my internship, I just really love and appreciate the facilities provided for us at SELISE. In one word it is really excellent the process they adopt for the intern management .I am thankful to IIT and SELISE for paving the way for me to take my internship at SELISE and completing this internship successfully.
  • 37. 31 Chapter 6: Training & Schooling 6.1 Overview We have completed different courses in our academic life based on different technologies and technologies such as object oriented programing, web technology, software testing, analysis and design. We have just learned the academic practice and concepts but how to apply this knowledge with actual industry practice we don’t experience. As internship is a part of our academic curriculum it plays an important role learning and schooling phase of a student. We have no prior knowledge about internship, my team lead and CTO help me to overcome this situation by taking session on different concepts, schooling us in SELISE School and getting work done by us on different types of assignment 6.2 Assignment Contact Manager Application At the first day of our interview, we were assigned to an assignment to implement a Contact Manager application. The requirements of the applications is divided into two sections the frontend and the backend .We are supposed to do the backend using Asp .net C# MVC framework including using the ORM ,entity framework. Besides the fronted would be done using pure htlm5 bootstrap and popular JavaScript frame work Angular js. We got 7 days to get the work done by ourselves and we have to represent this project in the first day of our internship 6.3 Project Funny Facebook Application After presenting our assignment, we are assigned to do another assignment where we have to choose our own idea but we have to implement the idea with the requirements that are given by our team leaders. I have chosen to make a funny Facebook application using the required technologies. The required technologies are, Asp .net Web API 2 with Odata, MVC framework with entity framework, Sql server, and Angular js with routing using ui-router along with HTML5 and Boot strap.
  • 38. 32 6.4 Tutorials and other resources My team lead and team members share important resource such as links, book, hand on codes to help us overcoming the learning phase. Besides licensed and paid tutorials are downloaded and provided by the company admin support. Seniors also help us on how to utilize this resource and how keep the best practices 6.5 Communication and Collaboration After few days I get familiar with my teammates and colleague’s .I am very fortunate to have such teammates and colleagues very friendly and cooperative. They teach us how to keep up communication among the colleagues using social media and groups. SELISE provides some specific groups to connect its employees such as SELISE Talk in Gmail, SELISE Facebook group. Admin group, Technical Support Group and the Human Recourse Department provide really impressive assistants to us .They help us to learn the company constitutions and rule to be comfortable at SELISE. 6.6 Working Environment In beginning I experienced it a little bit hard to cope up with the new technologies in new working environment with a tight deadline. However there is no fixed time for learning before starting to working in a projects .Every time when an unknown problem arises SELISE follows R&D (Research and Development) strategy to find the approximate solution of it.
  • 39. 33 Chapter 7: My Project Involvements and Contribution 7.1 Overview After joining in SELISE, for the first month I was supervised by my team leaders. Before assigning me in real life project, he gave us training on different technologies on which SELISE works on. I have to pass through three phases. First doing a demo project to show what I have known already, second learning a new framework to work within a team, and finally working in a real life project. I was treated as a fresher’s and allow me to give a proposal to do a demo project using their required technologies. After completing the project I was assigned to ECAP team where I have to learn ECAP framework and build application on ECAP platform. Last my supervisor allow me to work in a real life project namely Jamahook recently launched as a beta version. The following part of this chapter I describe this three phases 7.2 Entertaining Facebook Applications I have chosen to build Facebook applications for learning their technologies along with learning the Facebook app development 7.2.1 Requirements Normally Facebook users try different types of entertaining applications for recreations .Most of the application have some common features. I gathered the following requirements for building the application  User will be able to create their apps account  User will be able to edit their account information’s  User will be also able to sign up to the application using Facebook account  User will have to give some input to get application result
  • 40. 34  User can Share their application result in their Facebook timeline  User will be able to use multiple application in one account 7.2.2 Team Members: As I mentioned before it is a single project that is done by me. However my supervisor Mr. Jonayet Hossain and my mentor Md. Hamim Ur Rahman help me a lot to complete this project from the scratch. 7.2.3 Tools and Technologies The following tools and technologies have been used for the development of the project  Microsoft .Net framework 4 for server-side code  OData framewrok  Entity Framework 6  Token based authentication  AngularJS for client-side  JavaScript  AngularUI  Bootstrap  MSSQL  Node Js  Visual Studio 2013  JetBrains WebStorm  Plunker Postman  Chrome Developer Tools 7.2.4 Working Periods I was supposed to complete this project within a week .I have successfully completed the project with meeting the deadlines 7.2.5 Challenges I have faced so many challenges as I had to adapt some new technologies and environment. Besides I have to do some R&D on Facebook application development. 7.2.6 My Learning I have learned and gathered knowledges about lots of new technologies and frameworks. For client side developing I have learned JavaScript including the most popular JavaScript fronted frame work Angular js
  • 41. 35 with UI-routing , Bootstrap .As I have developed Facebook application I have to learn how to use Facebook java script sdk and Facebook Graph API. Besides for the server side I have learned asp.net web api, mvc, token based authentication and authorization, OData,etc 7.3 ECAP ECAP is a platform containing standardised application components that allow for rapid application development. The platform can be considered an aPaaS (Application Platform as a Service) which offers crosscutting and reusable functionality required by web based business applications. Such functionality is provided by specific micro services that scale individually, thus making the platform highly maintainable and resource efficient. ECAP components are under constant development and renewal which keeps it up to date with the latest technology. ECAP requires a rather complex hosting environment with different hardware and network components that also scale individually and is hence best fit for modern cloud hosting infrastructures such as Amazon Web Services, Microsoft Azure or Google Compute Engine 7.3.1 Requirements Learning ECAP is very interesting as it is a totally new to me and woks using different technologies The following requirements is meet for learning ECAP and building application on ECAP framework  Gather knowledge about ECAP  Learning how ECAP works how to create an application using ECAP framework  Learning angular material design based on angular js framework.  Learning how to query on database using Robo mongo  Learning how to debug JavaScript using chrome development tools  Build demo application and communicate that get data form server and post data into server  Design the front of this application using Angular material framework 7.2.2 Team Members: As I mentioned before it is a single project that is done by me. However my supervisor Mr. Jonayet Hossain and my mentor Md. Hamim Ur Rahman help me a lot to complete this project from the scratch.
  • 42. 36 7.3.3 Tools and technologies  Angular Material framework  AngularJS  AngularUI  Bootstrap  OData framework  JavaScript  Node Js  Visual Studio 2013  Plunker Postman  Chrome Developer Tools 7.3.3 Working Periods I was supposed to complete this project within a week .I have successfully completed the project with meeting the deadlines 7.2.5 Challenges I have faced so many challenges as I had to adapt some new technologies and environment. Besides I have to get deep learning on how ECAP works for both the client sides and server sides ,how it reuse its components and how the data services are provided from the backend to frontend 7.2.6 My Learning I have learned and gathered knowledges about lots of new technologies and frameworks. I have learned how ECAP works in both the client side and server side .I have learned material web design using angular material design framework. 7.3 Jamahook Jamahook is a music matching service and a social collaboration platform for musicians and music enthusiasts. The core idea of Jamahook is to pave way for a collaborative marketplace where music enthusiasts, musicians, producers and other players in the music industry can upload their tunes and find suitable matches that can allow one to complete their unfinished compositions. Finding a match for any tune in Jamahook is as easy as it gets. Upload tune and the music matching service will search the vast library of
  • 43. 37 Jamahook to find the best matches that will complement with the uploaded tune and the Jamplayer will let user compare the found results with the reference track. The Jamplayer is a music player with multi-track support to help users compare the matches with the reference track and facilitate the mix-and-match for finding the right track. User may register to the Jamahook site or remain as anonymous user .However the registered users get extra benefits compared to the unregistered ones such as:  Access to the Jamahook Now, our social collaboration platform for the users to interact with each other, post content and browse their news feed.  Access to the Jamahook marketplace for buying and selling tunes.  200MB of storage space for uploaded tunes.  Ability to add two tunes at a time to the Jamplayer in addition to the reference track compared to one track for the unregistered users. 7.3.1Tools and technologies  Angular Material framework  AngularJS  AngularUI  OData framework  JavaScript  Node Js  Visual Studio 2013  Postman  Chrome Developer Tools  Mongo DB  RoboMongo  Asp Net Web API 2 7.3.2 My Contribution I have contributed to this project in different aspects such as developing, testing, and analyzing. I have implemented some important features for Jamahook. The following are my contributions in Jamahook.
  • 44. 38  Initializing different type of application on ECAP such as Marketplace, Mycart, MyWishlist, Faq, Treading. This application are considered as component on ECAP platform  Implementing user profile pictures uploading and broadcasting to others component of ECAP  Implementing an important features that allow user to post external url preview in their newsfeed  Conducting load testing on Jamahook site using Apache JMeter , Selenium .  Identifying and solving bugs in Android and ios platform using chrome remote debugging tools and safari web developer’s tool. 7.3.3 Challenges I have faced so many challenges to perform my assigned task as I worked as a frontend developer, I have faced the following challenges  Debugging JavaScript code is very difficult and tedious. It’s really a challenges for me debugging JavaScript code and analyzing bugs.  I have to deal with user interface of Jamahook .As Jamahook is developed using angular is material design .It seems to me challenging to get the desired user interface and interaction using this technologies  Debugging application on android and ios based smart phone ,it’s really tedious. As it takes time to setup the environment and I have to do remote debugging for detecting and solving the bugs
  • 45. 39 Chapter 8: Professional Growth 8.1 Development Technique In IIT I have learned so many software development process like waterfall approach, spiral approach, agile development process etc. I have already followed the waterfall approach in my Software Project Lab (i) and (ii) course .However I had little bookish knowledge on agile development process. As I mentioned earlier SELISE follows rapid agile development process, I am supposed to follow this process in my team. It helps on how I adapt my code when requirements changes one sprint to another sprint. To keep me up-to-date, daily scrum meeting support me to know the requirements and technologies. Since the scope of the projects is huge and everyone works in different module, it is difficult to anyone to know everything of the projects .So knowledge sharing sessions are arranged to discussion the problem and its approximate solution among the team members 8.2 Pair Programming When I write code, subconsciously it seems to me I always write the clean and bug free code. However it is not a good thinking at all. It is impossible to write bug free code or completely remove bug from the code but our approach may reduce bug from code. Pair Programing is the approach to detecting bug, optimize the code and also do faster development. I have done pair programing with my team members .It helps me to share knowledge ,ideas and detect the bug instantly .In Generally Pair Programing detect more design alternatives than a developer working alone. Some research studies claims that pair programming produce software with less numbers of bugs that software developed alone. 8.3 Respect for Each Other From the very first day I have learned from IIT about “Respect” as a moto of IIT. To get respect from others, first and foremost we have to show respect to others. It is must to give proper respect to other when have to work in a team along with corporate environment. It develops the mutual understating among the team members and make the relationship strong. A friendly working environment is created by me just doing this practice and a helping hand of seniors is always there for me.
  • 46. 40 8.4 No bullying and blaming Team work is mandatory in Software Development and it is very common within a team to misunderstanding to each other for any reason. Usually I didn’t observe my team leaders and project development manager to blame or bully people working under their supervision. From my point of view during my internship I have made a lots of mistake but my team leaders and my project manager had never misbehave with me .It is not the solution to blame others for their mistakes .It make the mutual understanding among the teammates worse. My teammates not only encourage me in case of my success but also helped me to fix the problem in case of my failure 8.5 Dedication for Work Being an intern at SELISE, it is my main purpose to learn and experience new things from the corporate environment and the seniors. So dedication of work is important for me .Each members of the team has assigned work to perform it within a deadline. To meet the deadline I have worked dedicatedly during my internship period. 8.6 Attitude I feel fortunate to be a part of a team where I observed some extraordinary talented peoples surrounding me .It feels great working with such successful software Engineer as well as a successful man. They always try to say the appropriate talk to the appropriate situation .How to make right decision on any situations. Their professional attitudes and their passionate of work influenced me a lot 8.7 Negotiation Negotiation is a first and foremost condition for developing a software for client .However in SELISE negotiation with the client is done by one person the Project Development manager. We the developer negotiate with each other or solving a problem .It is the development culture of SELISE to analyze a problem
  • 47. 41 individually then share opinions to each other than negation the opinion to reach an optimized solution of that problem. It helps me to develop my negotiation capabilities. 8.8 Planning One of the professional practice is planning before working. Especially in software engineering it is must as development begins after planning. I have seen and practiced that all my seniors and teammates start their day with a short planning meeting based on what individual do in that specific day. In software engineering terminology we know it as scrum meeting. This meeting and planning help us to be stick to our spring planning 8.9 Attendance and Punctuality For being professional one should have to be punctual. It is an important issue in professional life. In SELISE every person including CTO, has to attend the scrum, sprint planning meeting and CTO meeting on exact time. If anyone fail to attend those meeting or get late for the meeting, s/he is fined by a certain amount depending on the types of meeting .Besides if anyone fail to enter office before 12 pm, his/her attendance is considered as a half day office leave .During last five months I never got late in my office or didn’t miss or late any meeting at office. I always remain punctual and keep my trying
  • 48. 42 Chapter 9: Technological Growth 9.1 Overview SELISE works in different platforms on client and product demands. As I mentioned before I am working in ECAP team where windows platform is used as a major platform for server side works. Since I am considered to be a frontend developer, so it is completely platform-independent for client side developing .Most updated and registered version of Microsoft software and other development tools is provided to me. I have learned and used a lot of new tools and technologies .From my point of view, it is the best time to get familiar with different technologies as it helps me to develop my confidence and assist me in my future career 9.2 Tools and IDE Choosing appropriate and optimized tool for implementing different problems is an important decision. Programming tools make development easier. Following are the list of tools I used at SELISE for my daily works: 9.2.1Visual Studio 2015 Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft. We have to use Microsoft Visual Studio 2013 to work with ASP.NET and all the team members feel suitable to use it as it offers a huge range of development facilities. 9.2.2Visual studio code Visual Studio Code is an open source code editor developed by Microsoft for Windows, Linux, and OS X. It includes support for debugging, embedded Git control, syntax highlighting, intelligent code completion, snippets, and code refactoring. It is also customizable, so users can change the editor's theme, keyboard shortcuts, and preferences. Visual Studio Code is based on Electron, a framework which is used to deploy Node.js applications for the desktop running on Blink layout engine. Although it also uses the Electron framework, the software is not a fork of Atom and is actually based on Visual Studio Online's editor (codename "Monaco").
  • 49. 43 9.2.3Chrom DevTools The Chrome Developer Tools (DevTools for short), are a set of web authoring and debugging tools built into Google Chrome. The DevTools provide web developers deep access into the internals of the browser and their web application. Use the DevTools to efficiently track down layout issues, set JavaScript breakpoints, and get insights for code optimization. 9.2.4 SQL Server 2014 Microsoft SQL Server is a relational database management system developed by Microsoft. Previously, I only worked with is MySQL. But for project purpose, I had to learn how to work in SQL Server 2012. Though the queries were more or less same there are some features of SQL Server that I have to quickly adapt with for its full utilization. 9.3 Frameworks and Languages 9.3.2 MVC Model–view–controller (MVC) is a software architecture pattern which separates the representation of information from the user's interaction with it. The model consists of application data, business rules, logic, and functions. A view can be any output representation of data, such as a chart or a diagram. Multiple views of the same data are possible, such as a bar chart for management and a tabular view for accountants. The controller mediates input, converting it to commands forth model or view. The central ideas behind MVC are code reusability and separation of concerns (4). 9.3.2ASP.NET Web API ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. With Web API content negotiation, we can return data based on the client requests. What I mean is, if the client is requesting the data to be returned as JSON or XML, the Web API framework deals with the request type and returns the data appropriately based on the media type. By default Web API provides JSON and XML based responses. Web API is an ideal platform for building pure HTTP based services where the request and response happen with HTTP protocol. The client can make a GET, PUT, POST, and DELETE request and get the Web API response appropriately. In summary, the Web API is  An HTTP service  Designed for broad reach  Uses HTTP as an application protocol, not a transfer protocol
  • 50. 44 9.3.3 Entity Framework Entity framework is a popular ORM of the ASP.NET framework. Entity framework comes with a code-first approach which makes the database design really simple. The Entity Framework is a set of technologies in ADO.NET that supports the development of data-oriented software applications. Architects and developers of data-oriented applications have struggled with the need to achieve two very different objectives. They must model the entities, relationships, and logic of the business problems they are solving, and they must also work with the data engines used to store and retrieve the data. The data may span multiple storage systems, each with its own protocols; even applications that work with a single storage system must balance the requirements of the storage system against the requirements of writing efficient and maintainable application code. 9.3.4 Odata OData (Open Data Protocol) is an OASIS standard that defines the best practice for building and consuming RESTful APIs (5). OData helps to focus on the business logic while building RESTful APIs without having to worry about the approaches to define request and response headers, status codes, HTTP methods, URL conventions, media types, payload formats and query options etc. OData also guides about tracking changes, defining functions/actions for reusable procedures and sending asynchronous/batch requests etc. Additionally, OData provides a facility for an extension to fulfill any custom needs of RESTful APIs. OData RESTful APIs are easy to consume. The OData metadata, a machine-readable description of the data model of the APIs, enables the creation of powerful generic client proxies and tools. 9.3.5 JavaScript JavaScript also known as ECMAScript (the untrademarked name used for the standard), is a dynamic programming language. It is most commonly used as part of web browsers, whose implementations allow client-side scripts to interact with the user, control the browser, communicate asynchronously, and alter the document content that is displayed. It is also used in server-side network programming with runtime environments such as Node.js, game development and the creation of desktop and mobile applications. Our web admin and web client application are fully done by writing JavaScript controllers.
  • 51. 45 9.3.6 Angular Js Angular Js is an open-source web application framework, maintained by Google and community, which assist with creating single-page applications, one-page web applications that only require HTML, CSS, and JavaScript on the client side. Its goal is to augment web applications with model– view–controller (MVC) capability, in an effort to make both development and testing easier. 9.3.7 Angular Material Angular Material is a UI component library for Angular JS developers. Angular Material components help in constructing attractive, consistent, and functional web pages and web apps while adhering to modern web design principles like browser portability, device independence, and graceful degradation. It helps in creating faster, beautiful, and responsive websites. It is inspired from Google Material Design. 9.3.8 ECAP ECAP is a platform containing standardized application components that allow for rapid application development. The platform can be considered an aPaaS (Application Platform as a Service) which offers crosscutting and reusable functionality required by web-based business applications. Such functionality is provided by specific micro services that scale individually, thus making the platform highly maintainable and resource efficient. ECAP components are under constant development and renewal which keeps it up to date with the latest technology. ECAP requires a rather complex hosting environment with different hardware and network components that also scale individually and is hence best fit for modern clouds hosting infrastructures such as Amazon Web Services, Microsoft Azure or Google Compute Engine.  Cloud-based Hardware and Network Infrastructure  Application Infrastructure Services  Best Practice ASP.NET Web Application Libraries  Best Practice UI Libraries  Best Practice Mobile Application Libraries(IOS, Android, Windows Mobile)  sssMultiplatform SDK Support (Java, Ruby on Rails, Python)
  • 52. 46 9.4 Source Control and Others Tools 9.4.1 Jira Jira is a proprietary issue tracking product, developed by Atlassian. It provides bug tracking, issue tracking, and project management functions. Our whole project is handled by using Jira board. One can see his assigned tasks and the sprint activities in the dashboard. And every employee needs to update his status in Jira board. 9.4.2 SourceTree SourceTree is a powerful Git and Mercurial desktop client for developers on Mac or Windows. Our full project is handled in git. All the members work concurrently on their PC and all their submissions are merged by source tree. It is one of the most important tools that I learned at SELISE. 9.4.3 Fiddler The Fiddler tool helps to debug web applications by capturing network traffic between the Internet and test computers. The tool enables to inspect incoming and outgoing data to monitor and modify requests and responses before the browser receives them. Fiddler also includes a powerful event-based scripting subsystem, which one can extend by using any .NET Framework language. I used it while developing the simple Http web server. 9.4.4 Node js Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices. 9.4.5 Grunt Grunt is an open source JavaScript task runner. It helps to concatenate JavaScript and CSS files as well as create minified version of the files to reduce network latency while transferring JavaScript and CSS files from server side to client end’s browser (7).
  • 53. 47 9.5 Cloud Computing Cloud computing is a general term for the delivery of hosted services over the Internet. Cloud computing enables companies to compute resources as a utility -- just like electricity -- rather than having to build and maintain computing infrastructures in-house. Cloud computing promises several attractive benefits for businesses and ends users. Three of the main benefits of cloud computing include:  Self-service provisioning: End users can spin up computing resources for almost any type of workload on-demand.  Elasticity: Companies can scale up as computing needs increase and then scale down again as demands decrease.  Pay per use: Computing resources are measured at a granular level, allowing users to pay only for the resources and workloads they use. Cloud computing services can be private, public or hybrid. Private cloud services are delivered from a business' data center to internal users. This model offers versatility and convenience while preserving management, control and security. Internal customers may or may not be billed for services through IT chargeback. In the public cloud model, a third-party provider delivers the cloud service over the Internet. Public cloud services are sold on-demand, typically by the minute or the hour. Customers only pay for the CPU cycles, storage or bandwidth they consume. Leading public cloud providers include Amazon Web Services (AWS), Microsoft Azure, IBM/Soft Layer and Google Compute Engine. 9.5.1 Amazon web Service Amazon Web Services (AWS), is a subsidiary of Amazon.com, which offers a suite of cloud computing services that make up an on-demand computing platform. These services operate from 12 geographical regions across the world. The most central and best-known of these services arguably include Amazon Elastic Compute Cloud, also known as "EC2", and Amazon Simple Storage Service, also known as "S3". AWS now has more than 70 services that span a wide range including compute, storage, networking, database, analytics, application services, deployment, management, mobile, developer tools and tools for the Internet of things. Amazon markets AWS as a service to provide large computing capacity quicker and cheaper than a client company building an actual physical server farm
  • 54. 48 9.5.2 Amazon E2C Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale cloud computing easier for developers. Amazon EC2’s simple web service interface allows you to obtain and configure capacity with minimal friction. It provides you with complete control of your computing resources and lets you run on Amazon’s proven computing environment. Amazon EC2 reduces the time required to obtain and boot new server instances to minutes, allowing you to quickly scale capacity, both up and down, as your computing requirements change. Amazon EC2 changes the economics of computing by allowing you to pay only for capacity that you actually use. Amazon EC2 provides developers the tools to build failure resilient applications and isolate themselves from common failure scenarios. 9.5.3 Amazon RDMS Amazon Relational Database Service (Amazon RDS) makes it easy to set up, operate, and scale a relational database in the cloud. It provides cost-efficient and resizable capacity while managing time-consuming database administration tasks, freeing you up to focus on your applications and business. Amazon RDS provides you six familiar database engines to choose from, including Amazon Aurora, Oracle, Microsoft SQL Server, PostgreSQL, MySQL, and MariaDB. 9.5.4 Amazon S3 Amazon Simple Storage Service is storage for the Internet. It is designed to make web-scale computing easier for developers. Amazon S3 has a simple web services interface that you can use to store and retrieve any amount of data, at any time, from anywhere on the web. It gives any developer access to the same highly scalable, reliable, fast, inexpensive data storage infrastructure that Amazon uses to run its own global network of web sites. The service aims to maximize benefits of scale and to pass those benefits on to developers. This guide explains the core concepts of Amazon S3, such as buckets and objects, and how to work with these resources using the Amazon S3 application programming interface (API). 9.5.5 Microsoft Azure App Services Azure App Service is the only cloud service that integrates everything you need to quickly and easily build web and mobile apps for any platform and any device. Built for developers, App Service is a fully managed
  • 55. 49 platform with powerful capabilities such as built-in DevOps, continuous integration with Visual Studio Team Services and GitHub, staging, and production support, and automatic patching. Azure App Service is a single service that includes all of the capabilities from Azure Websites, Azure Mobile Services, and Azure Biztalk Services. Azure Functions is an example of ongoing additions to App Service that enable the next generation of applications.
  • 56. 50 Chapter 10: Self-Assessment 10.1 Overview In this following chapter I try to represent my perspective and ideas about my achievements as an intern. Here I would assess my capabilities that I have achieved during my internship program. Since an intern evaluation form has been sent to my respectable supervisor to evaluate my performance through my internship period at SELISE, I would like to assess myself on basis of those points and skills. 10.1.1 Attitude As an intern, I always try to maintain the positive attitudes to represent myself along with my institute. I am accustomed to concentrate on my assigned work. I refine myself from doing anything that may causes any reputation issues for me and my institute. I always remains friendly not only with my teammates but also with others peoples. I give such effort to express my dedication for work and try to contribute to the company through this effort 10.1.2 Ability to learn During the first month of my internship I have just learned the basic structure of SELISE’s recently launched framework named ECAP.I try my level best to learn such a new thing along with some new tools and technologies. From the February 2016 I have been working in a dedicated project namely Jamahook .Jamahook is developed by a team named ECAP Team worked on ECAP framework. I always ask question to my team leads and product development manager to gather knowledge for implementing my assigned task and contribute to the team. I am really thankful to them for assisting me 10.1.3 Dependability From the very first day at SELEISE, I was assigned a small project named Contact Manager by the CTO, during my interview. I have done that assignment with my previous knowledge and present it to my team leads. After that, initially my team lead assigned me on some small demo projects and give me training and take knowledge sharing session .After one month they assigned me on a real life project to working within a team along with the permission that I may push my code in SELESI ECAP repository since they found me dependable and reliable. I try my level best to keep this image during the entire internship period
  • 57. 51 10.1.4 Initiative As I always interested in new technologies and tools, so I take different initiative to be assigned new challenging works. In spring planning meeting I tell my team lead and my product development manager about my interest to assigned me in such works. Thus I get chance to do with different types of task such as testing with Jmeter, selenium, managing cloud server. 10.1.5 Quality of work The quality of work depends on both my previous study and what I have learned from this company. As I have done some of the important course at IIT such as software requirements and specification, design pattern, software testing, software design and analysis, it helps me doing clean code for meeting the requirements without any smell. Besides SELISE impose developer to follow Fine Driven Programing (FDP) where developer have to give fine for avoiding any rule of FDP. It is my personal opinion that this practice makes my work quality good 10.1.6 Relationship with others From the last three years I have learned something from my IIT besides my course that are ‘Professionalism’, ‘Excellence’ and ‘Respect’. With accordance with these moto I always respect all my colleagues and consider me as I am in a family namely SELISE family. So I participate different family program such as team events, seminars, hangout, trip that make the family bonding strong .I think this help me to maintain this family relationship in near future. 10.1.7 Maturity-poise I sustain my confidence on me when I undertake new task to do. My previous knowledge and experience help to hold confidence .I try my level best to do it. Besides providing proper guidance and direction with lots of facilities IIT established this confidence in me. 10.1.8 Quantity of work I performed different types of works including various features implementing for the project Jamahook such as making angular application, getting external website preview, uploading profile pictures are the remarkable examples. Besides I conduct load testing on this project using Apache JMeter, Selenium. For identifying bugs I have learned remote debugging of android and ios smartphone
  • 58. 52 10.1.9 Judgment As an intern generally I take decision in my work quality such as optimization, pattern and approach. However my team lead allow me to share my opinion on any development approach which should be done or should not be done or another better way for implementing the task. 10.1.10 Overall performance During the last five months at SELISE .I have performed different types work ,such as development ,coding, testing, negotiation most of the software engineering practices .Besides I take part in different types of program including seminars ,schooling ,team event ,hangout etc. tried my level best to successfully perform all my responsibilities for the company. So form my perspective it would be a wonderful performance
  • 59. 53 Conclusion The internship program made me accustomed to the professional company culture and the technologies they mostly deal with. It has helped me develop good judgment, proceed on my own in new technological challenges, and develop better analytical skills. The projects in which I worked inspired me to be harder working, responsible and confident. The internship program has been a great helping the sense that it improved my team work capabilities. At the companies it is important to function as a unit and respect the team mate’s ideas and suggestions. Team discussions like brain storming sessions helped me identify and solve numerous problem issues which would have been impossible to solve otherwise. I would like to convey my thanks to Institute of Information Technology for providing me an opportunity to gain idea of the competitive environment in the professional field. It has certainly lifted my software development skills in terms of design and coding. I now look forward to facing the upcoming challenges of the world.
  • 60. 54 References About. Selise. [Online] [Cited: 20 /05/ 2016.] http://selise.ch/about/. home. Selise. [Online] [Cited: 20 /05/ 2016] http://selise.ch/. About. Selsie. [Online] [Cited: 20 /05/ 2016] http://selise.ch/about/. Amazon AWS [Online] [Cited: 20 /05/ 2016] https://aws.amazon.com/ec2/ Cloud Computing [Online] [Cited: 20 /05/ 2016] http://aws.amazon.com/what-is-cloud-computing/ AWS [Online] [Cited: 20 /05/ 2016] http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html AWS S3 [Online] [Cited 20/02/2016] http://docs.aws.amazon.com/AmazonS3/latest/dev/Welcome.html AWS RDS [Online] [Cited 20/05/2016] https://aws.amazon.com/rds/ Azure App[Online[ Cited 20/05/2016] https://azure.microsoft.com/en-us/documentation/articles/app- service-value-prop-what-is/ Portal [Azure ][Online ][Cited 20/05/2016] https://portal.azure.com/ MVC [Online ] [Cited 20/05/16] http://samet.kilictas.com/what-is-mvc-architecture-model-viewcontroller. Home. OData. [Online] [Cited: 20 /05/ 2016] http://www.odata.org/. Home page. gruntjs. [Online] [Cited: 5 13, 2015.] http://www.gruntjs.com. Home Angular js [Online] [Cited 20/05/2016] https://angularjs.org/ Home Angular Meterial [Online][Cited 20/05/2016] https://material.angularjs.org/latest/ Jamahook.com [Online][Cited 20/05/2016] https://jamahook.com