How long does it take to extend the functionality of a pos terminal? [closed] - embedded

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
How long does it take to extend the functionality of a pos terminal?
I don't have any idea how long does it take to develop / extend functionality of a POS terminal. I have a friend who is asking me for this and we came across the "How Long Part".
My friend already has a running pos terminal that we developed with MQX Operating System by freescale (we are using K60 MCU) we bought it at aliexpress.
We were planning to extend the current source for NFC / contactless functionality (we also bought the reader from aliexpress)
Is developing it in 6 months time for 4 C++ developers sufficient enough?

To quote a classic:
[Y]ou’ve got to decide if you can deliver a Fortran compiler from scratch in seven days. You’ve got a staff of two programmers to help
you.
Can you do it?
“Well, I suppose, it depends,” you say.
On what?
“Um, will my team be able to use UML-generating tools?”
Does that really matter? Three programmers, seven days, Waterloo
Fortran IV. Are UML tools going to make or break it?
“I guess not.”
OK, so, what does it depend on?
“Will we have 19 inch monitors? And will we have access to all the
Jolt we can drink?”
Again, does this matter? Is caffeine going to determine whether you
can do it?
“I guess not. Oh, wait. You said I have a staff of two programmers?”
Right.
“Who are they?”
Does that matter?
“Sure! If the team doesn’t get along, we’ll never be able to work
together. And I know a few superstar programmers who could crank out a
Fortran compiler by themselves in one week, and lots of programmers
who couldn’t write the code to print the startup banner if they had
six months.”
Now we’re on to something!
If your team has worked together before, if you set your features to match your deadline (not the other way around), and if you have a keen sense when you've gone off the rails, probably. Presume you can, multiple your estimates by four, and carry on!
(Seriously, I can't answer this technically becuase it's a people question. But I hope it's inspirational! Good luck.)

Related

What are some rules on making your code look efficient? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
I'm a React Native Developer from the past 7 months. And this is my first technology I'm working on. So, I recently got to know that there are certain coding rules which I wasn't following and was unaware of. I have two general programming questions.
So I just got to know from an inteview that one should create wrapper functions in their code, by which I can just call a single function which points to a module or a API.
Like wrapper functions, what else is a good practice in programming?
Since I never worked on Android/iOS before and directly jumped to React Native. I often find myself doing trial and erros when it comes to do styling in my application.
Or what is the right way to style an element without giving too much margin/padding, which I assume is wrong. Or what is the right way to style where the styling works the same in all devices. Can someone recommend me a right article or video or something for this styling issue?
This may well be the broadest question(s) on StackOverflow :-). Just a few suggestions for the first question.
1. Read :
Many books have been written, some down-to-earth (Clean Code, The Pragmatic Programmer, Code Complete, Refactoring, ...), some more theoretical (Structure and Interpretation of Computer Programs, ...).
2. Collaborate :
You can sollicit code reviews from colleagues, have pair-programming sessions with them, attend coding dojos or hackathons. All of these are ways to share and transfer knowledge among peers, are very helpful, and almost always fun, too.
3. Play :
Sites like codewars.com are great to let you experiment with huge numbers of coding challenges, risk-free, and with the bonus benefit of seeing the solutions of others (once you're done :-)).
Maybe it's worth posting the second question separately, with the appropriate title. Good luck!

How to get alpha names for my program? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
When you see games in BETA and ALPHA, lets use Minecraft as example, Minecraft when it was in ALPHA the title for the ALPHA versions for Minecraft where like "Minecraft APLHA C1.2.2_C1.2" for example. Not that it's really important but how do they get the numbers and letters (C1.2.2_C1.2 <- these numbers and letters) and what do they represent for is it numbers that are just kinda random? and how does a person go about to getting those numbers for there program? I normally just go ALPHA 1 - how many updates there is but I find it more professional to have titles like this "Minecraft APLHA C1.2.2_C1.2"? Thanks
A fairly uninformed answer is this:
Every development department of every software company in the world has their own versioning system, and the numbers and codes that follow a program name (when included at all) simply reflect whatever system happens to be in use. Different code repositories have different standards as well. It might be something like this:
myProgram-5.2.3.4
The 5 being first in the list, might mean this is the fifth major revision of this application. A major revision would be when the program has been fundamentally changed, like when a programming language that has never had OOP support suddenly caves in and provides it to their user base.
The 2, being second, would be a big change to the application that does not fundamentally alter it, maybe like a shoot'em up game implementing several new weapons that people had been begging for but didn't really change anything else about game play.
Successive digits indicate less important changes, with the last digit often representing bug-fixes - changes that are typically invisible to the end user but make the program more robust.
There are many other systems; it's up to you to decide which to use. I would do some searching on topics like "version control best practices" to learn more. Once you know what those numbers mean, you may find they tell you important details about an application you were unaware of.

New job, Giant project [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
So, I just started a new job a few weeks back. It is my first job doing software, and I have been tasked with learning how a giant project works. Now, the guy before me left NO (zilch) documentation or comments anywhere in the source code. In addition, he applied basically EVERY design pattern in the famous design patterns book by Gamma, etc...
My question is, how do I start? I have tried setting break points for certain calls that I want to learn (learn bit by bit), but because of the 5 million design patterns employed, every call goes up about 7 levels just to finish, and by then, it's hard to keep track of the 20 some objects being created and used.
Has anyone had a similar experience? A few pointers on different methods to try?
Specs: language - VB.net
IDE - Visual Studio 2010
Using - Windows Forms
Brain - Melting
Inheriting a large project without documentation is always a huge pain in the ass. I hope you have already accustomed your manager to the inconvenient truth that it will take several weeks or even months until you can maintain that project efficiently.
I would start with creating some UML class diagrams. That could tell you a lot about how the system works and which design patterns are used where.
While doing so, I would also add comments to the code with everything I learned about it. When I am not sure if I understood what the code does correctly, I would add a common string like "NOT_SURE" to the comment. Later, when I have a better understanding of the system, I could use a text search to find and revise these comments.

How difficult would it be to build a Chat/IM Client for an office network? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
First and foremost, I would like to say I am very, /very/ new to programming and the like. If I decide to build this, this would probably be my first "large" project i've ever done myself.
What I am looking to build is a very simple Chat/IM client to use for the users in our office network. It would just call us their Windows logon name and use that to IM and the like. I'm talking a very simple client, with a list of names of people who are logged into the network, and option to IM them and an option to do a multiple user chat. It doesn't have to be visually stunning.
How difficult would this honestly be? Is it possible for me, someone who has very little knowledge when it comes to programming to teach myself how to build it?
If not, can you explain why this would be very difficult and what already built clients would work well for what I am using?
This is a big application. Your first parts will suck and refactoring it later will suck even more. I suggest building something small in the first place and then step from one bigger project to another.
XMPP/Jabber is IMHO the best solution for office IM. Most clients like Pidgin, Adium etc can connect to it. Every bigger company I worked for in the last years used it. Take a look at Openfire - A free open source XMPP server that you can directly connect on and which is easy to set up: http://www.igniterealtime.org/projects/openfire/

Selecting a software development project [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
I am currently my software engineering degree and as I am in my second year I need to select a topic for my project. I am totally confused on how to pick a good project topic, which I could use in my final year as well.
I have specialization in the following areas, java, vb.net, sql server 2005 as well as artificial intelligence.
I can also manage with designing interfaces for vb.net in flash.
Any help on a good topic which I should select would be greatly appreciated.
The best projects are the ones that you actually want to build. I struggle with this kind of thing myself in my "outside-of-work" projects.
Gauge the amount of time you have to work on it, that will probably limit your possibilities.
Pick something you're passionate about, even if it means learning a few (small) things -- this isn't a good time to learn C# or Ruby, but using learning how to use encryption in VB.NET is probably small enough.
If you can, build something you can use or that someone close to you can use.
An example:
I built a small P2P messaging client for my 3rd year security course which used Public Key encryption to send messages between clients. It wasn't fancy, but it worked and I managed to build it in about 3 weeks. A few of us used the client in class for the remainder of the term.