39,564 reputation
996173
bio website thomasjowens.com
location Nashua, NH
age 26
visits member for 4 years, 5 months
seen 12 hours ago

I graduated with a Bachelor of Science in Software Engineering from the Rochester Institute of Technology in May 2011. I currently work for UTC Aerospace Systems in Massachusetts. My full CV is available on StackOverflow Careers and LinkedIn.

My professional interests include software project management, software engineering process, software measurements and metrics, leadership, and professionalism in software engineering. I'm also a casual student of psychology and sociology, especially as they apply to a business context. Personally, I have taken up photography as a hobby. I'm also a casual gamer.


Jan
22
comment How to license a script
I'm voting to close this question as off-topic because this issue is best resolved by consulting a lawyer, not software developers.
Jan
22
comment Time complexity for a recurrence relation using Divide and Conquer Master Theorem
I'm voting to close this question as off-topic because it has already been cross-posted to the Computer Science Stack Exchange, where it is likely to be more suitable.
Jan
22
reviewed Leave Open Time complexity for a recurrence relation using Divide and Conquer Master Theorem
Jan
22
reviewed Leave Open How should nodes in a chain be connected?
Jan
20
comment Why sacrificing good software engineering practices is typically the first choice for software development projects assuming “good enough” quality
@PieterB It's backed up by facts. Like the cost of defects - you get your requirements wrong, it costs more to fix them post-release than it does in requirements. If you go through and build and ship a system and you have the requirements wrong, that means large portions of your design, your implementation, your unit tests, your integration tests, your acceptance tests are all wrong and need to be redone. It's cheaper to get each part right quicker. That's an advantage of the agile methods - you deliver small slices, so you can get feedback before you have a large system "complete".
Jan
20
comment Why sacrificing good software engineering practices is typically the first choice for software development projects assuming “good enough” quality
@PieterB I've seen it done. That doesn't mean it's the cheapest and quickest way to develop software, though, because it's not.
Jan
20
comment Why sacrificing good software engineering practices is typically the first choice for software development projects assuming “good enough” quality
I don't agree that "the cheapest and quickest way to develop software is to throw something together as quickly as possible". There is some level of tradeoff. If you don't understand what you're supposed to be building (understand the requirements), you could design and build something that works perfectly, but doesn't meet the needs of the customers. There needs to be some level of requirements and design up front to understand the customer's needs and environment. Having to throw everything (or a lot of the implementation and test code, anyway) away and start again would not be cheap or fast
Jan
11
revised Books and stories on programming culture, specifically in the 80's / early 90's
edited title
Jan
7
comment Controlling concurrency by Thread Pool in scenario of CPU-intensive and I/O intensive requests?
In the future, please do not cross-post questions between Stack Exchange sites. If you posted on the wrong site or think that another site would be a better fit to get you helpful answers, flag your question for moderator review.
Jan
3
revised Can BDD and Lean methodologies be used together?
added 3 characters in body; edited title
Jan
3
revised Can BDD and Lean methodologies be used together?
deleted 1 character in body
Dec
17
revised how does CC licenses (0,BY,BY-SA) affect proprietary/closed source applications?
edited tags
Dec
15
comment What does the arrow mean in a Class Diagram?
@user1534664 If A knows about B, then that means A can somehow call methods on B. Usually, that means B is a property of A or B is passed as an argument to a method on B. The arrow direction indicates which direction the interface can be called. An arrow from A pointing to B means that A can use the interface of B (A knows about B).
Dec
11
revised Why all consider UAT a validation activity? It contradicts the original idea
added 797 characters in body
Dec
11
awarded  Popular Question
Dec
11
answered Why all consider UAT a validation activity? It contradicts the original idea
Dec
11
revised Why all consider UAT a validation activity? It contradicts the original idea
edited body; edited tags
Dec
2
comment Term for 24-bits
This question has a Meta discussion.
Nov
18
comment What do I use for a variant in a UML class diagram?
@bonomo Can you update your question with a sample class diagram that you have? I'm not familiar with TypeScript, but I think my second paragraph applies. You may want to consider something other than UML class diagrams to model functional languages like F# and Haskell - I know I wouldn't use them because that's not what they are designed to do.
Nov
18
comment What do I use for a variant in a UML class diagram?
@bonomo What language are you using? I've implemented a tagged union in C++, and if I had to represent it, I'd use composition.